我们想建立一个与CMAKE系统的共享库。大概是这样的:
lib/
CMakeLists.txt
src/
CMakeLists.txt
module/
CMakeLists.txt
module1.c
foo.cmodule1.c需要像librt这样的标准共享库。我们有
add_library(module module1.c)
target_link_libraries(module rt)在module/子目录中。但仍然收到来自librt的未知内容的错误。
发布于 2011-10-10 04:18:44
实际上,你所做的应该是可行的。如果编译器找不到该库,它可能根本不在标准库路径中。您可以使用以下帮助来指定不同的link_directories (编译器的-L/some/path参数)。
cmake --help-command link_directories在调试CMake构建时,您可以做的另一件有用的事情是输出运行编译器的命令:
make VERBOSE=1然后,您可以获取这些命令并手动调整它们以使其正常工作。之后,就需要修改CMAKE_C_FLAGS/include_directories/link_directories了
发布于 2011-10-10 02:38:54
如果库与-lrt链接,那么在CMake中,您可以这样链接它:
target_link_libraries(module -lrt)https://stackoverflow.com/questions/7702993
复制相似问题