g ++在/ usr / local / lib

时间:2016-07-03 04:06:05

标签: c++ macos gcc ld glog

我正试图让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上试过这个并且工作正常,所以我不确定发生了什么。有关解决此事的任何建议吗?

1 个答案:

答案 0 :(得分:1)

找到了一个潜在的解决方案:

export LIBRARY_PATH=/usr/local/lib

不确定这是否是最佳解决方案,但它现在有效。我可以把它放在我的.bashrc中。

更新:如果您运行xcode-select --install,则在macOS上应解决这些问题。