CMake:链接一个制作的图书馆?

时间:2011-08-19 17:56:52

标签: cmake

我有一个包含2个主要目录的庞大项目: - /myproject/src - /myproject/app

策略是src在/myproject/lib目录中生成库,然后apps使用这些库在/myproject/bin目录中生成可执行文件。

但问题如下。链接库的经典stategy是使用FIND_LIBRARY()。但是如何链接尚未生成的库?

谢谢。

1 个答案:

答案 0 :(得分:3)

find_library()比名称暗示的更多,它不仅找到了(预装)lib的路径,而且还经常准备很多变量和函数。此外,find_library()仅适用于特定的库模块,它们位于cmake / share目录中。

当您构建自己的库时,必须使用add_library()命令将其添加到CMakeLists.txt,该命令与add_executable()命令完全相同。

完成后,您可以使用target_link_libraries()命令将库实际添加到可执行文件中。

总结一下:

add_library(myLib libsourceA.c libSourceB.c)

add_executable(myProgram prgsourceA.c prgsourceB.c)
target_link_libraries(myProgram myLib)

您实际上不必知道或指定库文件的确切位置,cmake将为您管理。