【问题标题】:CMake link installed shared libraryCMake链接安装共享库
【发布时间】:2013-10-07 22:04:08
【问题描述】:

我是 CMake 新手,一直在尝试构建我的项目,以便我构建一个共享库(游戏引擎),然后可以将其链接到一个或多个可执行文件(游戏)。我的目录结构如下:

- build
- engine
- - include
- - source
- game
- - include
- - source
- resources
- scripts

我已经设法使用以下命令安装了共享库:

install(TARGETS Engine
  EXPORT Engine
  RUNTIME DESTINATION bin
  LIBRARY DESTINATION lib
  ARCHIVE DESTINATION lib)
install(EXPORT Engine DESTINATION lib)

这将创建以下文件:build/engine/CMakeFiles/Export/lib/Engine.cmake

如何包含此文件,以便将我的引擎库与我的游戏可执行文件链接? 我曾希望这只是使用find_package(Engine REQUIRED) 的一个例子。

【问题讨论】:

    标签: cmake shared-libraries


    【解决方案1】:

    您不需要包含 .cmake 文件。

    在您的游戏可执行文件的add_executable 之后,假设您的游戏引擎目标名称为 Game,添加以下内容:

    target_link_libraries(Game Engine)
    

    cmake 将在幕后执行所有魔法,确保引擎在游戏之前构建,然后为您将游戏链接到引擎。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-11
      • 2017-05-29
      • 1970-01-01
      • 2021-07-25
      • 2016-01-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多