首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SDL +花栗鼠CMake配置

SDL +花栗鼠CMake配置
EN

Stack Overflow用户
提问于 2018-11-04 08:24:43
回答 1查看 240关注 0票数 0

我想通过Chipmunk2D物理框架将CMake与SDL连接起来。

我的项目结构如下:

代码语言:javascript
复制
MyProject
    -chipmunk:
      --include
      --demo:
        ---CMakeList.txt
      --src:
       ---CMakeList.txt
      --CMakeList.txt
    -src:
      --main.cpp
    -CMakeLists.txt

我阅读了有关静态库和共享库的内容,并决定使用静态库,因此我进入了花栗鼠文件夹,运行了cmake .

1.第一个CMakeList文件设置选项:

代码语言:javascript
复制
  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)

在那之后:

代码语言:javascript
复制
add_subdirectory(src)
  1. 来自src的CMakeList.txt进入操作: if(BUILD_STATIC)消息(STATUS "BUILDING chipmunk_static") add_library(chipmunk_static STATIC ${chipmunk_source_files}) set_target_properties(chipmunk_static PROPERTIES OUTPUT_NAME chipmunk) if(INSTALL_STATIC)消息(状态"INSTALL chipmunk_static ${LIB_INSTALL_DIR}")安装(目标chipmunk_static归档目的地{LIB_INSTALL_DIR}) endif(INSTALL_STATIC) endif(BUILD_STATIC)
  2. 在演示文件夹中,CmakeFile执行以下操作: set(chipmunk_demos_libraries chipmunk_static ${GLEW_LIBRARIES} ${OPENGL_LIBRARIES} )

S0我的问题是:

  1. 我需要只从花栗鼠库运行Makefile一次吗?这样我就可以构建静态库了吗?
  2. 在CMakefile中包含了花栗鼠的Cmakefile之后,似乎无法找到静态库(,我在Linux 上)
  3. 如果我已经构建了静态库,我可以从花栗鼠中删除所有的src内容并只保留标题吗?

我试图找到花栗鼠静态库,但没有成功:

代码语言:javascript
复制
add_subdirectory(chipmunk)
find_package(SDL2 REQUIRED)
find_library(CHIPMUNK_LIB chipmunk_static)
message(${CHIPMUNK_LIB})

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-05 16:19:31

因此,使用CMake时,当您“找到”一个库时,它会查找已安装的库,而不是由子项目构建的库。因此,在某个地方,您应该有一行引用其中包含花栗鼠的目录。在我的项目中:

代码语言:javascript
复制
add_subdirectory(external/Chipmunk2D)

然后,当您构建可执行文件(或库,不管怎样)时,您只需按名称列出由子项目构建的库。在我的例子中,glfw、chipmunk_static和enet都是由CMake在子项目中构建的:

代码语言:javascript
复制
target_link_libraries(my_executable
    ${OPENGL_LIBRARIES}
    glfw
    chipmunk_static
    enet
)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53138982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档