自动驾驶仿真 - AirSim (3) - 配置 Visual Studio 工程
接下来的文章主要开始记录 AirSim 提供的 APIs 的学习。但是在自己新建一个工程的时候发现,配置有很多问题,这里先解决一下。
在第一篇文章【AirSim 仿真 (1) - Windows 10 下安装仿真平台 AirSim - v1.3.1】,跑了一下示例工程 Hello Car
. 因为工程配置的关系,发现吧这个工程拷贝出来后,在打开编译不了。但是自己码工程的时候,目录不一定非得限制到 AirSim 的工程目录下吧,总归自己有个文件夹的。
其实看一下 Hello Car
的工程属性配置可以看到其实编译不了的原因,无非是包含目录、依赖库的关系。因此,这里主要解决一下这些配置问题。
[TOC]
新建工程
创建一个控制台应用,指定一个自己的归档路径。过程不叙述了。这里,我新建了一个
car-controller
文件夹(和AirSim
项目不在一起)。工程就叫做CarController
.把示例程序
HelloCar
的源码拷贝过来,不用想,这里肯定都是满屏的错误。整个过程其实和配置
OpenCV
的过程差不多,开始配置项目工程属性,进入项目
->属性
。
添加附加包含目录
配置属性
->C/C++
->常规
->附加包含目录
添加如下三个包含目录,在
AirSim
工程内。我这里是D:\dev\airsim_ws\airsim
$(airsim项目目录)\AirLib\deps\rpclib\include
$(airsim项目目录)\AirLib\deps\eigen3
$(airsim项目目录)\AirLib\include
添加附加库目录
配置属性
->链接器
->常规
->附加库目录
添加如下三个包含库目录,在
AirSim
工程内。$(airsim项目目录)\AirLib\lib\$(Platform)\$(Configuration)
$(airsim项目目录)\AirLib\deps\rpclib\lib\$(Platform)\$(Configuration)
$(airsim项目目录)\AirLib\deps\MavLinkCom\lib\$(Platform)\$(Configuration)
PS: 因为
Windows
下的库区分Debug
和Release
模式,还有x86
和x64
连个平台。$(Platform)
: 这个就是区分Debug
和Release
的$(Configuration)
: 这个区分x86
还是x64
的
配置附加依赖项
完成上一步,这时候代码应该不会冒红了,但是编译还是过不了的。会包 LNK2019
无法解析的外部符号的错误,因为依赖库找不到。
配置属性
->链接器
->输入
->附加依赖项
添加库,上一步的三个
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
编译运行
工程配置: Debug
, x64
。例程再次跑起来了。
其他
其实到这里,如果有编译好的库和插件,其实都不需要下载 UE (除非要自定义场景)或者源码编译。
这里把我编译好的库文件和插件上传了,可自行下载:
AirLib-v1.3.1-vs2019.zip
Plugins-AirSim-v1.3.1-ue2.25.1.zip
地图的话,在官方的 github
上可以自己下载: https://github.com/microsoft/AirSim/releases,里面是打包好的应用程序,双击就可以运行,可以下载一个小地图试试。
PS:如果是汽车的话就不要下载 ZhangJiaJie
那幅图了,给无人机用的,车开不了。
最后
接下去就要开始正真的开发使用了……
本文标题:自动驾驶仿真 - AirSim (3) - 配置 Visual Studio 工程
文章作者:xwnb
发布时间:2020-06-22
最后更新:2023-04-17
原始链接:https://xwnb.github.io/posts/531482360/
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!并保留本声明。感谢您的阅读和支持!
分享