我想通过Chipmunk2D物理框架将CMake与SDL连接起来。
我的项目结构如下:
MyProject
-chipmunk:
--include
--demo:
---CMakeList.txt
--src:
---CMakeList.txt
--CMakeList.txt
-src:
--main.cpp
-CMakeLists.txt我阅读了有关静态库和共享库的内容,并决定使用静态库,因此我进入了花栗鼠文件夹,运行了cmake .。
1.第一个CMakeList文件设置选项:
message(STATUS "Set BUILD_STATIC option ON")
option(BUILD_SHARED "Build and install the shared library" ON)
option(BUILD_STATIC "Build as static library" ON)
option(INSTALL_STATIC "Install the static library" ON)在那之后:
add_subdirectory(src)S0我的问题是:
我试图找到花栗鼠静态库,但没有成功:
add_subdirectory(chipmunk)
find_package(SDL2 REQUIRED)
find_library(CHIPMUNK_LIB chipmunk_static)
message(${CHIPMUNK_LIB})
发布于 2018-11-05 16:19:31
因此,使用CMake时,当您“找到”一个库时,它会查找已安装的库,而不是由子项目构建的库。因此,在某个地方,您应该有一行引用其中包含花栗鼠的目录。在我的项目中:
add_subdirectory(external/Chipmunk2D)然后,当您构建可执行文件(或库,不管怎样)时,您只需按名称列出由子项目构建的库。在我的例子中,glfw、chipmunk_static和enet都是由CMake在子项目中构建的:
target_link_libraries(my_executable
${OPENGL_LIBRARIES}
glfw
chipmunk_static
enet
)https://stackoverflow.com/questions/53138982
复制相似问题