我正试图让g ++自己找到glog
(OS X 10.11.5)。我安装了glog(尝试使用github pull和brew install中的cmake - 在两种情况下都是相同的结果)。然后我尝试编译这个文件:
#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上试过这个并且工作正常,所以我不确定发生了什么。有关解决此事的任何建议吗?
答案 0 :(得分:1)
找到了一个潜在的解决方案:
export LIBRARY_PATH=/usr/local/lib
不确定这是否是最佳解决方案,但它现在有效。我可以把它放在我的.bashrc中。
更新:如果您运行xcode-select --install
,则在macOS上应解决这些问题。