[英]g++ not finding library in /usr/local/lib
我正在尝试让g ++自行查找glog
(OS X 10.11.5)。 我安装了glog(尝试了来自github pull的cmake以及brew install-两种情况下的结果相同)。 然后,我尝试编译该文件:
#include <glog/logging.h>
int main(int argc, char** argv) {
int* x = nullptr;
CHECK_NOTNULL(x);
return 0;
}
通过运行g++ -lglog -I/usr/local/include test.cpp
失败并显示以下错误:
ld: library not found for -lglog
clang: error: linker command failed with exit code 1 (use -v to see invocation)
但是,当我使用g++ -L/usr/local/lib -lglog -I/usr/local/include test.cpp
它可以正常工作。
我尝试将/usr/local/lib
到LD_LIBRARY_PATH中无济于事。
通常,我不会介意,但是我使用的是CMake(可以很好地找到glog),并且我不想在其中“硬编码”库路径以使其可移植。 我之前曾在另一台Mac上尝试过此方法,但效果很好,所以我不确定发生了什么。 有什么建议解决这个问题吗?
找到了潜在的解决方案:
export LIBRARY_PATH=/usr/local/lib
不知道这是否是最好的解决方案,但它现在可以使用。 我可以将它放在我的.bashrc中。
更新:在macOS上,如果您运行xcode-select --install
它将解决这些问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.