https://blog.csdn.net/xiaowei1234565/article/details/106605711
把示例程序 HelloDrone 的源码拷贝过来,因为没有配置库目录,这里肯定都是满屏的错误。
添加附加包含目录
-
配置属性
->C/C++
->常规
->附加包含目录
-
添加如下三个包含目录,在
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
添加附加库目录
-
配置属性
->链接器
->常规
->附加库目录
-
添加如下三个包含库目录,在
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
编译运行
工程配置: Release
, x64
。例程再次跑起来了。
编译成功!
因为没有开启UE4场景,所以一直处于链接状态。然后关闭工程。
其他
其实到这里,如果有编译好的库和插件,其实都不需要下载 UE (除非要自定义场景)或者源码编译。
场景联调
(1)打开UE4场景工程
F5自动打开
(2)打开自己建立的工程