關於編譯vins so的相關問題

2021-10-16 10:47:36 字數 1764 閱讀 7867

1、電腦配置

ubuntu 16.04+ros kinetic或者ubuntu 18.04 +ros melodic

2、依賴項

cv_bridge,tf,message-filters,image-transport,opencv3

eigen,ceres

3、具體**編譯

mkdir catkin_vins_so

cd catkin_vins_so

mkdir src

cd src

git clone

git clone

git clone

cd ..

catkin_make

4、編譯問題

修改**

(1)把sumpixel_test.cppestimator_node.cpp中的

#include "backward.hpp"
修改為

#include "code_utils/backward.hpp"
(2)向vins_parameters.cpp中新增

#include
(3)initialex.h修改為

#ifndef initialex_h

#define initialex_h

#include "initialexrotationcamcam.h"

#include "initialexrotationcamimu.h"

class initialexparam

public:

/***********************修改部分**************************/

initialex::initialexrotationcamimuptr * m_ricinitial;

initialex::initialexrotationcamcamptr * m_rccinitial;

/***********************修改部分**************************/

};#endif // initialex_h

linux下編譯c++**報錯,報錯資訊"field has incomplete type"。這種問題一般都是在標頭檔案對類或者結構體進行了前向宣告,後面使用了該類定義了物件,導致編譯報錯。原因在於前向宣告類或者結構體,此時編譯器還不知道定義,無法知道類內部成員,所以無法構造例項物件,因此前向宣告的類或者結構體只能用來定義指標或者引用。
(4) 編譯成功

參考文獻

編譯報錯"field has incomplete type"

VLC 編譯相關問題

在mac os x10.7.3 xcode4.3.2 環境下編譯vlc for ios碰到的問題可解決辦法。git clone git cd mobilevlc buildmobilevlc.sh 執行會失敗,usr bin xcodebuild error can t exec developer...

關於Queue的相關問題

在多執行緒中使用queue,發現總是有莫名的問題,經折騰好久之後發現是因為沒有加鎖 以下測試 中,如果不加鎖,新增 100w物件,可能只會成功50w,然後並不會產生異常 1 var mqueues new queue 1000000 如果初始數量設定過大會直接崩潰 2 system.threadin...

關於code blocks的編譯速度問題

在乙個程式寫好之後,按下f9,便可以進行編譯並且執行,在2018年的寒假之中,編譯速度一直困擾著我,因為每次編譯都需要十秒左右的時間,體驗極差。而此前,編譯時間一直保持在0 second。經過我的多番努力,終於解決了問題。原來,此前,我一般將檔案儲存在e盤之中 機械硬碟 而寒假,為了省事直接放在了桌...