最近在实验室师兄的介绍下看了下OpenGV库(Open Geometric Vision),在ubuntu16上按照!网站 的方法可以很方便的安装,就是要主要make的线程数。一开始用make -j4,会出现一些错误,后来改成了单线程编译。其次是要注意eigen的版本,在win7上使用eigen-3-2-10可以编译成功,但是使用eigen-3-3-5就会出现错误。
ubuntu16上的make和install没什么好讲的,主要讲一下在window下的编译和install。
- 首先要确定path中没有g++、gcc的编译器,就是在环境变量中去掉MinGW的bin目录,没有安装MinGW的电脑不需要这一步。
- 修改CMakeLists.txt文件,在ADD_DEFINITIONS中,有visual studio编译器msvc不支持的命令行参数,
-Wextra
、-Werror
、-Wwrite-strings
、-Wno-unused-parameter
,将其注释掉就可以了。 - 在Cmake-gui中设置Eigen的路径
- 设置Cmake-install的路径,默认的是在C盘,将其设置为自己希望所在的文件下。否则在VS生成ALL Build后,再build install会出现权限问题。
可以先生成Debug,生成Release,每次都要install,然后会在cmake的install文件夹看到include和lib文件夹,lib文件下有opengv.lib和opengvd.lib。由于是静态库,opengvd.lib有200多M,opengv.lib有80多M。
build/bin文件下有几个例子,可以在cmd中看一下。
Debug模式生成的较快,Release模式生成的比较慢。可能与Eigen模板库有关系。
windows下怎么生成动态库还没清楚。