如何在交叉编译到 Raspberry Pi 时在 Visual Studio 中添加包含目录?

How to add Include directories in Visual Studio while cross-compiling to a Raspberry Pi?

我正在 Raspberry Pi 上开发一个 C++ 项目。我正在使用 Visual Studio 2017 将项目交叉编译到我的 Raspberry。 但是当我尝试编译项目时,我在很多头文件中得到了错误"cannot open source file"。

我已经设法编译了简单的项目,但现在我需要包含目录,但我不知道要设置的正确语法,在 Visual Studio 的项目属性页面上,包含目录告诉在存储头文件的地方编译。

对于 PCL 库,例如,我能够使用“$(INCLUDE_PCL)”包含目录。 但是当我尝试包含 pi 的目录 '/usr/Include/ni' 时,我无法正确设置绝对路径。这是我的属性页面 (https://ibb.co/G2dszrx) 的屏幕截图。我还没有设置链接器目录,因为我目前在编译阶段遇到错误。

有谁知道如何设置绝对路径以正确包含目录?

已编辑: 为了解决这个问题,我创建了一个新项目 (Proj),其中包含存储在树莓派 "home/pi/projects" 文件夹中的文件 'try.cpp'。该项目位于“/home/pi/projects/Proj”文件夹中。

在项目属性页面中,我有:

当我编译项目时,这个路径被正确创建,并且项目被保存在正确的位置,即使进一步进入远程构建项目目录中的更多文件夹,但它找不到包含文件"try.h".

Visual Studio 如何知道使用“$(RemoteRootDir)”保存项目的位置,但无法添加该路径包含目录?

经过一些搜索,我成功地添加了附加包含目录和附加库。

首先,我还使用 OpenNI 来处理 PCL。多次尝试后,发现OpenNI没有正确安装。所以我设法用 apt-get.

安装了它

其次,如果您想在 Raspberry 设备中包含“/home/pi/someDIR”目录,只需将“/home/pi/someDIR”添加到 Visual Studio 的附加包含目录即可。

来自 visual studio 的 Merlyn Oppenheim,如果您仍在努力实现这一目标,请使用 VS 2019 和 Raspberry PI 模板设置示例项目 -> https://github.com/merlynoppenheim/sample-rasp-inc-headers

对于此示例项目,Visual Studio 属性页面应具有:

C/C++ -> 常规 -> 附加包含目录 = '/home/pi/projects/vcpkg/packages/sqlite3_x64-linux/include;%(AdditionalIncludeDirectories)'

C/C++ -> 链接器 -> 常规 -> 附加库目录 = '/home/pi/projects/vcpkg/packages/sqlite3_x64-linux/debug/lib;%(AdditionalLibraryDirectories)'

C/C++ -> 链接器 -> 输入 -> 库依赖项 = 'wiringPi;sqlite3;pthread;dl'