我的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,但这也没有做任何事情..