我们想用CMAKE
系统建立一个共享库。就像这样:
lib/
CMakeLists.txt
src/
CMakeLists.txt
module/
CMakeLists.txt
module1.c
foo.c
module1.c
需要一些标准的共享库,例如librt
。我们有add_library(module module1.c)
target_link_libraries(module rt)
在
module/
子目录中。但仍然会从librt
中得到东西的错误仍然未知。 最佳答案
实际上,您正在做的事情应该可以工作。如果编译器找不到该库,则它可能根本不在标准库路径中。您可以使用以下帮助来指定其他link_directories
(编译器的-L/some/path
参数)。
cmake --help-command link_directories
在调试CMake构建时,您可以做的另一件事是打印出运行编译器的命令:
make VERBOSE=1
然后,您可以接受命令并手动调整它们以使其正常工作。之后,只需修改
CMAKE_C_FLAGS
/include_directories
/link_directories
关于c++ - CMAKE链接到系统库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7702993/