我正在尝试使用clang(3.0)构建和链接一个基于C++和cmake的项目。该项目链接到安装在自定义目录/my/dir/中的多个库。该目录已包括在LD_LIBRARY_PATH和LIBRARY_PATH环境变量中。使用g++可以成功构建和链接该项目。
cmake生成并执行的链接命令如下:
/usr/bin/clang++ -O3 stuff.cpp.o -o stuff -rdynamic -lmylib
ld随后会出现以下消息:
/usr/bin/ld: cannot find -lmylib
每当我手动添加-L/my/dir/
时,上面的链接命令都可以正常运行。有没有一种方式可以在不指定-L
标志的情况下进行链接?
LD_LIBRARY_PATH
是用于在启动时加载库文件,而不是用于解决链接依赖关系。也许您想使用LDFLAGS
? - Remus Rusanu