C++ libconfig库的安装与编译注意事项

安装

cd到解压文件目录,依次运行如下命令:

  • ./configure
  • make (运行完生成 .so 和 .a)
  • make check
  • make install (将 .so 和 .a库 安装到/usr/local/lib 路径下)
  • make clean

问题

使用libconfig库后,编写测试用例程序时报# "undefined reference to XXX"问题。

原因

经查找,发现是在编译阶段没有链接到libconfig的库文件的原因。官方文档中也有提及:To link with the library, specify ‘-lconfig++’ as an argument to the linker

关于"undefined reference to XXX"报错,这个[帖子](https://zhuanlan.zhihu.com/p/81681440)里面有比较全面的分析。

解决方法

  1. 如果是单个文件的编译使用g++命令中加入-lconfig++参数
g++ yourfile.cpp -o a.out -lconfig
  1. 由于我是用CMake进行编译的,故应在CMakelist中配置以下内容:
LINK_DIRECTORIES(/usr/local/lib/) # 该目录是你编译后的静态库文件所在的目录
target_link_libraries([your pack name] -lconfig++)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容