在/usr/local/lib中找不到库
g++ not finding library in /usr/local/lib
我试图让g++找到自己的glog
(OS X 10.11.5)。我安装了glog(尝试了两个cmake从github拉以及brew安装-在这两种情况下相同的结果)。然后我试着编译这个文件:
#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中。
UPDATE:在macOS上,如果你运行xcode-select --install
,它应该解决这些问题。
相关文章:
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 为什么野牛仍在使用"int yylex(void)",却找不到"int yylex(YYS
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到
- 奇怪的(对我来说)返回声明 - 在谷歌上找不到任何关于它的信息
- 找不到QtResource文件中的文件
- VC++本机单元测试,找不到调试符号
- RegGetValue在当前用户下找不到名称
- 带有 -stdlib=libc++ 的 clang++ 9.0.1 找不到<optional>
- c++找不到具有相同哈希的无序集合元素
- 找不到以下加速库:boost_fiber
- 找不到 FLTK(缺少:FLTK_INCLUDE_DIR)
- 设置 Visual Studio for MPI: 找不到标识符错误
- 在 /usr/local/lib 下找不到库
- pip install uwsgi 失败,出现 /usr/local/include/string/string.h:7:10:致命错误:找不到'sstream'文件?
- XCode 找不到 zmq.h,即使它位于 /usr/local/include 和标头搜索路径中
- /usr/local/include/tk.h:71:13:致命错误:安装 Python 库时找不到'X11/Xlib.h'文件
- Xcode 6.0.1版gmp.h头文件找不到,尽管gmp.h和gmpxx.h在local/include中
- Linux g++编译错误:/usr/bin/ld:找不到-l/usr/local/include
- 在/usr/local/lib中找不到库