CMake:使用文件名

时间:2015-11-16 17:28:48

标签: linux cmake linker-errors

我正在使用debian和cmake在c ++中构建应用程序。该项目还基于一些静态库(ITK),这些库存储在libname-x.y.a文件夹中,其中xy表示版本号。

包含这些库的文件夹已添加到CMake的LINK_DIRECTORIES,并且这些库将作为TARGET_LINK_LIBRARIES添加到libname-x.y.a。使用make构建项目时,链接器/usr/bin/ld输出cannot find -llibname,即没有版本后缀。

在没有版本后缀的情况下将库添加到TARGET_LINK_LIBRARIES时,项目不会构建。

有人知道如何解决这个问题吗?

P.S。在Windows上,编译和链接工作。

1 个答案:

答案 0 :(得分:2)

  

解决方案是使用find_library并将结果传递给   target_link_libraries。这是一个更多的工作,但将会做   系统使用起来更加愉快。

取自常见CMake反模式列表使用库而不检查

http://voices.canonical.com/jussi.pakkanen/2013/03/26/a-list-of-common-cmake-antipatterns/