如何 link 项目符号库(来自 FindBullet.cmake)?
How to link bullet libraries(from FindBullet.cmake)?
我正在开发一款游戏,并且正在尝试使用子弹。但是,(似乎)我在 link 项目符号库中遇到了问题。编辑 2:我有 my code on github
这其实是我第一次使用cmake。我搜索了 FindBullet.cmake 文件,可以找到 link 库(${BULLET_LIBRARIES})的变量,但是 linking 变量中的库没有做任何事情。
find_package(Bullet REQUIRED)
include_directories(${BULLET_INCLUDE_DIR})
target_link_libraries(3DPlatformer ${BULLET_LIBRARIES})
我希望我的代码能够编译,但我却得到了一堆,"undefined refrence to" 然后是它读取的项目符号中的任何函数。
编辑:
more undefined references to `btAlignedAllocInternal(unsigned long, int)' follow
^这就是我得到的一堆
collect2: error: ld returned 1 exit status
这是最后一个错误。
Full Error
libbullet-dev
需要安装。
sudo apt-get install libbullet-dev
我的问题是我的一个 if 语句被破坏了。
我的 if 语句:
if(USE_SYSTEM_BULLET)
find_package(Bullet REQUIRED)
include_directories(${BULLET_INCLUDE_DIR})
target_link_libraries(3DPlatformer ${BULLET_LIBRARIES} -lGL -lGLU)
else(USE_SYSTEM_BULLET)
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/bullet" )
include_directories("${PROJECT_SOURCE_DIR}/lib/bullet/src")
endif(USE_SYSTEM_BULLET)
不知何故触发了所有代码而不是其中的一部分。像这样评论代码:
#if(USE_SYSTEM_BULLET)
find_package(Bullet REQUIRED)
include_directories(${BULLET_INCLUDE_DIR})
target_link_libraries(3DPlatformer ${BULLET_LIBRARIES} -lGL -lGLU)
#else(USE_SYSTEM_BULLET)
# add_subdirectory("${PROJECT_SOURCE_DIR}/lib/bullet" )
# include_directories("${PROJECT_SOURCE_DIR}/lib/bullet/src")
#endif(USE_SYSTEM_BULLET)
已修复。
我正在开发一款游戏,并且正在尝试使用子弹。但是,(似乎)我在 link 项目符号库中遇到了问题。编辑 2:我有 my code on github
这其实是我第一次使用cmake。我搜索了 FindBullet.cmake 文件,可以找到 link 库(${BULLET_LIBRARIES})的变量,但是 linking 变量中的库没有做任何事情。
find_package(Bullet REQUIRED)
include_directories(${BULLET_INCLUDE_DIR})
target_link_libraries(3DPlatformer ${BULLET_LIBRARIES})
我希望我的代码能够编译,但我却得到了一堆,"undefined refrence to" 然后是它读取的项目符号中的任何函数。 编辑:
more undefined references to `btAlignedAllocInternal(unsigned long, int)' follow
^这就是我得到的一堆
collect2: error: ld returned 1 exit status
这是最后一个错误。 Full Error
libbullet-dev
需要安装。
sudo apt-get install libbullet-dev
我的问题是我的一个 if 语句被破坏了。 我的 if 语句:
if(USE_SYSTEM_BULLET)
find_package(Bullet REQUIRED)
include_directories(${BULLET_INCLUDE_DIR})
target_link_libraries(3DPlatformer ${BULLET_LIBRARIES} -lGL -lGLU)
else(USE_SYSTEM_BULLET)
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/bullet" )
include_directories("${PROJECT_SOURCE_DIR}/lib/bullet/src")
endif(USE_SYSTEM_BULLET)
不知何故触发了所有代码而不是其中的一部分。像这样评论代码:
#if(USE_SYSTEM_BULLET)
find_package(Bullet REQUIRED)
include_directories(${BULLET_INCLUDE_DIR})
target_link_libraries(3DPlatformer ${BULLET_LIBRARIES} -lGL -lGLU)
#else(USE_SYSTEM_BULLET)
# add_subdirectory("${PROJECT_SOURCE_DIR}/lib/bullet" )
# include_directories("${PROJECT_SOURCE_DIR}/lib/bullet/src")
#endif(USE_SYSTEM_BULLET)
已修复。