繁体   English   中英

g ++在/ usr / local / lib中找不到库

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM