0

我正在尝试让 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 上尝试过,效果很好,所以我不确定发生了什么。有关解决此问题的任何建议吗?

4

1 回答 1

2

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

export LIBRARY_PATH=/usr/local/lib

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

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

于 2016-07-03T04:12:10.093 回答