繁体   English   中英

在交叉编译到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。 但是,当我尝试编译项目时,在许多头文件中收到错误“无法打开源文件”。

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

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

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

编辑:试图弄清楚这一点,我创建了一个新项目(Proj),其中包含存储在树莓派的“ home / pi / projects”文件夹中的文件“ try.cpp”。 该项目位于“ / home / pi / projects / Proj”文件夹中。

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

  • 配置属性>常规>远程构建根目录->〜/ projects
  • 配置属性>常规>远程构建项目目录-> $(RemoteRootDir)/ $(ProjectName)
  • C / C ++>常规>其他包含目录-> $(RemoteRootDir)

当我编译项目时,即使正确进入远程构建项目目录中的更多文件夹,该路径也会正确创建,并且该项目保存在正确的位置,但是找不到包含文件“ try.h”。

Visual Studio如何知道使用“ $(RemoteRootDir)”将项目保存到何处,但无法添加该路径的include目录?

经过一些搜索后,我设法正确添加了其他包含目录和其他库。

首先,我还使用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'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM