我正在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”文件夹中。
在项目属性页中,我有:
当我编译项目时,即使正确进入远程构建项目目录中的更多文件夹,该路径也会正确创建,并且将项目保存在正确的位置,但是找不到包含文件“ try”。 H”。
Visual Studio如何知道使用“ $(RemoteRootDir)”将项目保存到何处,但是无法添加该路径的include目录?
答案 0 :(得分:0)
在进行一些搜索之后,我设法正确添加了其他包含目录和其他库。
首先,我还使用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'