小编maq*_*qui的帖子

CMake为静态库生成-L <path> -l <​​lib>链接标志

我正在使用CMake 2.8来构建基于MQX OS的应用程序(使用CodeWarrior).
CMake项目基本上构建了一组静态库(比如说LIB1和LIB2).
然后我在最终的可执行cmake规则中引用这些库:

target_add_executable(X ${some_sources})
target_link_libraries(X LIB1 LIB2)
Run Code Online (Sandbox Code Playgroud)

我的问题是一些符号在一个库中被定义.
因此,链接命令如:

mwldarm <args> -o <output> <objects> /path/to1/libLIB1.a /path/to2/libLIB2.a
Run Code Online (Sandbox Code Playgroud)

会导致符号错误的多重定义.相反,我希望CMake生成一个链接命令,如:

mwldarm <args> -o <output> <objects> -L/path/to1 -L/path/to2 -lLIB -lLIB2
Run Code Online (Sandbox Code Playgroud)

问题:如何从CMAKE获取以下变量?

  • 图书馆目录标志(例如: -L/path/to1 -L/path/to2)
  • 库链接标志(例如:-lLIB -lLIB2)

我已经阅读了有关RPATH的内容,但它似乎只涉及共享库.我对吗?

谢谢你提前.
我很感激

cmake static-libraries static-linking

7
推荐指数
1
解决办法
9529
查看次数

标签 统计

cmake ×1

static-libraries ×1

static-linking ×1