将项目符号包含目录与 cmake 链接
linking bullet include directory with cmake
我有一个常见问题,"包含未找到"。当我使用命令行设置包含和库目录时,一切都很好,报价:
g++ src/B_engine.cc -lLinearMath -lBulletSoftBody -lBulletCollision -lBulletDynamics -I/usr/include/bullet -o a.out
但是我需要让它与cmake一起工作,有我当前cmake的副本,
cmake_minimum_required( VERSION 2.8 )
project( a.out )
set( SOURCES src/B_engine.cc )
set( EXECUTABLE_NAME a.out )
find_package( Bullet REQUIRED )
add_executable( ${EXECUTABLE_NAME} ${SOURCES} )
add_definitions(-std=c++11)
当我做一个"ccmake."时,我看到:
BULLET_INCLUDE_DIR /usr/include/bullet
CMAKE_BUILD_TYPE
CMAKE_INSTALL_PREFIX /usr/local
因此,我(使用命令行)和 cmake 希望使用/usr/include/bullet 作为目录。但是当我"制作"时,我收到此错误:
[100%]
Scanning dependencies of target a.out
Building CXX object CMakeFiles/a.out.dir/src/B_engine.cc.o
In file included from /home/user/test/src/B_engine.cc:2:0:/home/user/test/src/B_engine.hh:5:36: fatal error: btBulletDynamicsCommon.h: No such file or directory
#include <btBulletDynamicsCommon.h>
我不明白为什么 g++ 命令行和 cmake 没有给出相同的结果。
也许 Bullet 的find_package脚本只找到包含目录,但不会将其添加到包含列表中。所以我会明确添加它:
include_directories(${BULLET_INCLUDE_DIR})
相关文章:
- Cmake 链接问题:未定义对 Button::mousePressEvent(QGraphicsSceneMouseE
- 将 SDL2 与 CMake 链接起来
- 找不到 CMake 链接的库
- 无法将 GTest 中的类与 CMake 链接
- NDK 将库与 cmake 链接
- 无法将提升库与 CMake 链接
- 如何使用 CMake 链接"numpy/arrayobject.h"
- CMake链接库在Docker映像中失败
- 使用cmake链接错误
- 如何使用CMake链接顶点?
- 无法在VS2017上将libclang与cmake链接
- 将枚举与 CMake 链接的正确方法是什么?
- 如何使用 cmake 链接库
- 将boost_numpy3与 CMAKE 链接
- CMake 链接 2 个具有相对路径的库
- Ogre 3D共享库与CMAKE链接时,在Linux上执行二进制时找不到
- 在 Android Studio 中使用 NDK、Gradle 和 CMake 链接外部库
- cmake链接错误2
- 无法通过 CMake 链接 Boost 1.63.0
- Android Native:CMake 链接错误:未定义对 GL 函数的引用 - 即使包含并链接了 EGL 和 GLESv3