我正在使用 CMake 2.8 来构建基于 MQX OS 的应用程序(使用 CodeWarrior)。
CMake 项目基本上构建了一组静态库(比如说 LIB1 和 LIB2)。
然后我在最终的可执行 cmake 规则中引用这些库:
target_add_executable(X ${some_sources})
target_link_libraries(X LIB1 LIB2)
我的问题是一些符号是在多个库中定义的。
因此,像这样的链接命令:
mwldarm <args> -o <output> <objects> /path/to1/libLIB1.a /path/to2/libLIB2.a
会导致多重定义符号错误。相反,我希望 CMake 生成如下链接命令:
mwldarm <args> -o <output> <objects> -L/path/to1 -L/path/to2 -lLIB -lLIB2
问题:如何从 CMAKE 中获取以下变量?
- 库目录标志(例如
-L/path/to1 -L/path/to2
:) - 库链接标志(例如
-lLIB -lLIB2
:)
我已经阅读了有关 RPATH 的内容,但它似乎只涉及共享库。我对吗?
感谢提前。
我很感激。