Octomap在windows環(huán)境配置(任意版本VS)

簡述

Octomap是一種采用八叉樹數(shù)據(jù)結(jié)構(gòu)存儲三維環(huán)境的概率占據(jù)地圖恬砂。地圖單元為體素(立方體)杰妓。對于Octomap卓箫,作者這里也不過多介紹了。相信你點開這里限书,對Octomap也有了大致的了解虫蝶。

由于一些特殊需求,我們有時需要在windows環(huán)境下進行配置使用Octomap倦西。關(guān)于這塊能真,網(wǎng)上的教程鮮有,故寫此篇供大家參考。

此教程適用window下任意版本VS粉铐。
作者這里使用的是:VS2017 win10 octomap1.9.0

編譯Octomap

  • 安裝Cmake
    點擊鏈接下載安裝包疼约,并安裝。

  • 下載Octomap

  • 開始編譯
    在Octomap根目錄下新建build文件夾蝙泼,

打開Cmake程剥,添加Octomap目錄:1.根目錄 2.build目錄


點擊Configure,根據(jù)自己的VS版本選擇汤踏,


根據(jù)自己的平臺選擇织鲸,點Finish

點擊Generate


進入octomap-1.9.0/build/文件夾溪胶,用VS打開ALL_BUILD.vcxproj搂擦,選擇releaseordebug,win32orx64(這里要與上面選擇的平臺一致),右鍵解決方案欄里的ALL_BUILD重新生成,最終顯示全部生成成功哗脖。

這樣盾饮,在octomap-1.9.0文件夾中生成了lib文件夾

VS開發(fā)環(huán)境配置

1.新建一個空項目
2.菜單欄點擊視圖->其他窗口->屬性管理器,按照你上面的選擇懒熙,選擇releaseordebug,win32orx64丘损,這里以release|x64為例,右鍵新建添加新項目屬性表工扎,取名octomapconfig,添加徘钥,



3.雙擊新建的屬性表
VC++ 目錄->包含目錄->添加頭文件:(根據(jù)自己octomap的路徑添加)

E:\Program Files\octomap-1.9.0\octomap\include
E:\Program Files\octomap-1.9.0\octovis\include
E:\Program Files\octomap-1.9.0\dynamicEDT3D\include


VC++ 目錄->庫目錄->添加庫文件:(根據(jù)自己octomap的路徑添加)

E:\Program Files\octomap-1.9.0\lib


鏈接器->輸入->附加依賴項添加lib文件:

dynamicedt3d.lib
octomap.lib
octomath.lib

點擊確定,配置完成肢娘。

程序測試

#include <octomap/octomap.h>
#include <octomap/OcTree.h>

using namespace std;
using namespace octomap;


void print_query_info(point3d query, OcTreeNode* node) {
 if (node != NULL) {
  cout << "occupancy probability at " << query << ":\t " << node->getOccupancy() << endl;
 }
 else
  cout << "occupancy probability at " << query << ":\t is unknown" << endl;
}

int main(int argc, char** argv) {

 cout << endl;
 cout << "generating example map" << endl;

 OcTree tree(0.1);  // create empty tree with resolution 0.1


 // insert some measurements of occupied cells

 for (int x = -20; x < 20; x++) {
  for (int y = -20; y < 20; y++) {
   for (int z = -20; z < 20; z++) {
    point3d endpoint((float)x*0.05f, (float)y*0.05f, (float)z*0.05f);
    tree.updateNode(endpoint, true); // integrate 'occupied' measurement
   }
  }
 }

 // insert some measurements of free cells

 for (int x = -30; x < 30; x++) {
  for (int y = -30; y < 30; y++) {
   for (int z = -30; z < 30; z++) {
    point3d endpoint((float)x*0.02f - 1.0f, (float)y*0.02f - 1.0f, (float)z*0.02f - 1.0f);
    tree.updateNode(endpoint, false);  // integrate 'free' measurement
   }
  }
 }

 cout << endl;
 cout << "performing some queries:" << endl;

 point3d query(0., 0., 0.);
 OcTreeNode* result = tree.search(query);
 print_query_info(query, result);

 query = point3d(-1., -1., -1.);
 result = tree.search(query);
 print_query_info(query, result);

 query = point3d(1., 1., 1.);
 result = tree.search(query);
 print_query_info(query, result);


 cout << endl;
 tree.writeBinary("simple_tree.bt");
 cout << "wrote example file simple_tree.bt" << endl << endl;
 cout << "now you can use octovis to visualize: octovis simple_tree.bt" << endl;
 cout << "Hint: hit 'F'-key in viewer to see the freespace" << endl << endl;

}

如果生成成功呈础,運行沒有問題,表明配置成功橱健!

相關(guān)問題

如果測試程序生成出現(xiàn)這樣的報錯而钞,


解決辦法:
項目->屬性->C/C++->語言->符合模式->否

結(jié)語

至此,相信你也和我一樣拘荡,已經(jīng)配置成功了臼节。
如有任何問題或是書寫紕漏,請給我留言珊皿,我會幫你們耐心解決网缝。
感謝觀看,希望對你們有所幫助蟋定!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末粉臊,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子驶兜,更是在濱河造成了極大的恐慌扼仲,老刑警劉巖远寸,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異屠凶,居然都是意外死亡驰后,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門阅畴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人迅耘,你說我怎么就攤上這事贱枣。” “怎么了颤专?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵纽哥,是天一觀的道長。 經(jīng)常有香客問我栖秕,道長春塌,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任簇捍,我火速辦了婚禮只壳,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘暑塑。我一直安慰自己吼句,他們只是感情好,可當我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布事格。 她就那樣靜靜地躺著惕艳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪驹愚。 梳的紋絲不亂的頭發(fā)上远搪,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天,我揣著相機與錄音逢捺,去河邊找鬼谁鳍。 笑死,一個胖子當著我的面吹牛劫瞳,可吹牛的內(nèi)容都是我干的棠耕。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼柠新,長吁一口氣:“原來是場噩夢啊……” “哼窍荧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起恨憎,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤蕊退,失蹤者是張志新(化名)和其女友劉穎郊楣,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瓤荔,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡净蚤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了输硝。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片今瀑。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖点把,靈堂內(nèi)的尸體忽然破棺而出橘荠,到底是詐尸還是另有隱情,我是刑警寧澤郎逃,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布哥童,位于F島的核電站,受9級特大地震影響褒翰,放射性物質(zhì)發(fā)生泄漏贮懈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一优训、第九天 我趴在偏房一處隱蔽的房頂上張望朵你。 院中可真熱鬧,春花似錦揣非、人聲如沸撬呢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽魂拦。三九已至,卻和暖如春搁嗓,著一層夾襖步出監(jiān)牢的瞬間芯勘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工腺逛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留荷愕,地道東北人。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓棍矛,卻偏偏與公主長得像安疗,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子够委,可洞房花燭夜當晚...
    茶點故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容