1. 程式人生 > >OpenGV Win7 VS2013 Cmake 編譯靜態庫

OpenGV Win7 VS2013 Cmake 編譯靜態庫

bin文件 就是 param 錯誤 uil 這一 ons 出現 pat

最近在實驗室師兄的介紹下看了下OpenGV庫(Open Geometric Vision),在ubuntu16上按照!網站 的方法可以很方便的安裝,就是要主要make的線程數。一開始用make -j4,會出現一些錯誤,後來改成了單線程編譯。其次是要註意eigen的版本,在win7上使用eigen-3-2-10可以編譯成功,但是使用eigen-3-3-5就會出現錯誤。

ubuntu16上的make和install沒什麽好講的,主要講一下在window下的編譯和install。

  1. 首先要確定path中沒有g++、gcc的編譯器,就是在環境變量中去掉MinGW的bin目錄,沒有安裝MinGW的電腦不需要這一步。
  2. 修改CMakeLists.txt文件,在ADD_DEFINITIONS中,有visual studio編譯器msvc不支持的命令行參數,-Wextra-Werror-Wwrite-strings-Wno-unused-parameter,將其註釋掉就可以了。
  3. 在Cmake-gui中設置Eigen的路徑
  4. 設置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下怎麽生成動態庫還沒清楚。

OpenGV Win7 VS2013 Cmake 編譯靜態庫