1. 程式人生 > 實用技巧 >AirSim 自動駕駛模擬 (2) - 配置 Visual Studio 工程 - C++

AirSim 自動駕駛模擬 (2) - 配置 Visual Studio 工程 - C++

https://blog.csdn.net/xiaowei1234565/article/details/106605711

把示例程式 HelloDrone的原始碼拷貝過來,因為沒有配置庫目錄,這裡肯定都是滿屏的錯誤。

新增附加包含目錄

  1. 配置屬性 -> C/C++ -> 常規 -> 附加包含目錄

  2. 新增如下三個包含目錄,在 AirSim 工程內。我這裡是D:\software\AirSim-1.3.1-windows\AirSim-1.3.1-windows

$(airsim專案目錄)\AirLib\deps\rpclib\include
$(airsim專案目錄)\AirLib\deps\eigen3
$(airsim專案目錄)\AirLib\include  

  

新增附加庫目錄

  1. 配置屬性 -> 連結器 -> 常規 -> 附加庫目錄

  2. 新增如下三個包含庫目錄,在 AirSim 工程內。

$(airsim專案目錄)\AirLib\lib\$(Platform)\$(Configuration)
$(airsim專案目錄)\AirLib\deps\rpclib\lib\$(Platform)\$(Configuration)
$(airsim專案目錄)\AirLib\deps\MavLinkCom\lib\$(Platform)\$(Configuration)

PS: 因為 Windows 下的庫區分 Debug

Release模式,還有 x86x64 連個平臺。

$(Platform) : 這個就是區分 Debug 和 Release的
$(Configuration) : 這個區分 x86還是 x64的



配置附加依賴項

完成上一步,這時候程式碼應該不會冒紅了,但是編譯還是過不了的。會包 LNK2019 無法解析的外部符號的錯誤,因為依賴庫找不到。

  1. 配置屬性 -> 連結器 -> 輸入 -> 附加依賴項

  2. 新增庫,上一步的三個 lib 資料夾下的庫都需要新增進去。PS: 還有一種方法針對很多庫的,比如 OpenCV 是不是在這裡要新增很多庫,有些時候還會漏掉導致工程編譯失敗。這裡也又一個小技巧,就是用萬用字元,把指定目錄下的所有 lib 都新增進來。

$(airsim專案目錄)\AirLib\deps\rpclib\lib\$(Platform)\$(Configuration)\*.lib >

$(airsim專案目錄)\AirLib\deps\MavLinkCom\lib\$(Platform)\$(Configuration)\*.lib >

$(airsim專案目錄)\AirLib\lib\$(Platform)\$(Configuration)\*.lib

 

編譯執行

工程配置:Release,x64。例程再次跑起來了。

編譯成功!

因為沒有開啟UE4場景,所以一直處於連結狀態。然後關閉工程。

其他

其實到這裡,如果有編譯好的庫和外掛,其實都不需要下載 UE (除非要自定義場景)或者原始碼編譯。

場景聯調

(1)開啟UE4場景工程

F5自動開啟

(2)開啟自己建立的工程