问题描述
我在qt下使用ceres库下的example 2d图优化PS:已完成ceres库的安装
qt编译如下文件
报错如下
/usr/bin/ld: pose_graph_2d.o: undefined reference to symbol ‘ZN6google14FlagRegistererC1EPKcS2_S2_S2_PvS3’
Makefile:255: recipe for target ‘TestCeres’ failed
//usr/lib/x86_64-linux-gnu/libgflags.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
解决方法
1下载gflags库
git clone https://github.com/gflags/gflags.git
安装gflags
1 cd gflags
2 sudo mkdir build
3 sudo cmake …
4 sudo make
5 sudo make install
执行完可以看到以下输出
生成libgflags.a和libgflags_nothreads.a两个静态库
注意头文件导入目录/usr/local/include
2链接库
此时我们只需要在我们的工程里链接这两个静态库就可以了
我ubuntu下用的是qt,添加方式如下截图
最后编译正常