首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CMAKE链接到系统库

CMAKE链接到系统库
EN

Stack Overflow用户
提问于 2011-10-09 18:52:32
回答 2查看 22.1K关注 0票数 6

我们想建立一个与CMAKE系统的共享库。大概是这样的:

代码语言:javascript
复制
lib/
  CMakeLists.txt
  src/
    CMakeLists.txt
    module/
      CMakeLists.txt
      module1.c
    foo.c

module1.c需要像librt这样的标准共享库。我们有

代码语言:javascript
复制
add_library(module module1.c)
target_link_libraries(module rt)

module/子目录中。但仍然收到来自librt的未知内容的错误。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-10 04:18:44

实际上,你所做的应该是可行的。如果编译器找不到该库,它可能根本不在标准库路径中。您可以使用以下帮助来指定不同的link_directories (编译器的-L/some/path参数)。

代码语言:javascript
复制
cmake --help-command link_directories

在调试CMake构建时,您可以做的另一件有用的事情是输出运行编译器的命令:

代码语言:javascript
复制
make VERBOSE=1

然后,您可以获取这些命令并手动调整它们以使其正常工作。之后,就需要修改CMAKE_C_FLAGS/include_directories/link_directories

票数 4
EN

Stack Overflow用户

发布于 2011-10-10 02:38:54

如果库与-lrt链接,那么在CMake中,您可以这样链接它:

代码语言:javascript
复制
target_link_libraries(module -lrt)
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7702993

复制
相关文章

相似问题

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