首页 > 技术文章 > MAC: cmake 编译错误 ld: library not found for -lXXX

shirley-bhu 2019-02-28 16:08 原文

错误信息:

ld: library not found for -lflann_cpp
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [bshot] Error 1
make[1]: *** [CMakeFiles/bshot.dir/all] Error 2
make: *** [all] Error 2

解决方案:

第一步,自己找到这个库

库一般放在系统默认处或者安装到特定地方。

Linux 系统默认库放在:

/lib
/usr/lib
/usr/local/lib
...
安装到特定地方,如我 Mac 的用 Homebrew 安装到:

/usr/local/Cellar/flann/1.9.1_6/lib

第二步:添加路径

系统级:修改/etc/profile或者/etc/bashrc

用户级:修改~/.bashrc或者~/.bash_profile

#添加到gcc头文件
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/MyLib

#添加到g++头文件路径
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/MyLib

#添加到动态库
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/MyLib

#添加到静态库
export LIBRARY_PATH=$LIBRARY_PATH:/MyLib

 

推荐阅读