Cmake Unix:链接器故障 - 没有从target_link_libraries添加-L

时间:2012-12-03 22:55:06

标签: linux g++ makefile cmake

我的cmake项目在linux上遇到了一些链接器问题。

我已经安装了一个包(nvidias Cg工具包),它将库文件放在/ usr / lib64中

我在这里使用find脚本:http://code.google.com/p/nvidia-texture-tools/source/browse/branches/2.0/cmake/FindCg.cmake?r=452

如果我在运行find脚本后用message()打印出CG_LIBRARY和CG_GL_LIBRARY,它们都被设置为正确的文件和路径: /usr/lib64/libCg.so-lpthread /usr/lib64/libCgGL.so

find脚本将-lpthread添加到CG_LIBRARY。我也尝试删除添加它的行并将其手动添加到目标项目中。

然后我使用target_link_libraries()将这些变量添加到目标项目中。

当我跑步时,它说: / usr / bin / ld:找不到-lCg / usr / bin / ld:找不到-lCgGL collect2:错误:ld返回1退出状态

现在,如果我使用VERBOSE = 1运行make,我可以看到没有-L / usr / lib64条目。如果我编辑CMakeFiles / MyProject.dir / link.txt并手动添加该条目,则链接正常。不应该使用target_link_libraries()自动添加-L条目吗? 我也尝试使用link_directories来添加-L manualy,但这也没有做任何事情..

0 个答案:

没有答案