Visual studio 2015 VC#U Linux-Visual Studio c++;针对Raspberry Pi的Linux跨平台构建-库问题

Visual studio 2015 VC#U Linux-Visual Studio c++;针对Raspberry Pi的Linux跨平台构建-库问题,visual-studio-2015,raspberry-pi,cross-compiling,raspberry-pi3,Visual Studio 2015,Raspberry Pi,Cross Compiling,Raspberry Pi3,我正在使用Visual studio的VC_Linux for Raspberry Pi3进行实验,希望能够编译和调试代码 我正在尝试在Pi上编写UDP客户端和服务器的代码 开箱即用的VCLinux对于一个简单的hello world项目非常有用。。。但当我试图引用Pi文件夹usr/include中存在的Pi源文件时,VisualStudio开始抱怨源文件不存在或找不到 例如,我需要socket.h文件来构建UDP客户机/服务器。在Pi中,可以在 usr\include\asm-generic\

我正在使用Visual studio的VC_Linux for Raspberry Pi3进行实验,希望能够编译和调试代码

我正在尝试在Pi上编写UDP客户端和服务器的代码

开箱即用的VCLinux对于一个简单的hello world项目非常有用。。。但当我试图引用Pi文件夹usr/include中存在的Pi源文件时,VisualStudio开始抱怨源文件不存在或找不到

例如,我需要socket.h文件来构建UDP客户机/服务器。在Pi中,可以在

usr\include\asm-generic\socket.h
我将整个usr\include文件从Pi复制到我的Windows计算机(将其重命名为Pi\U Source,使include文件夹与默认的“C:\Program Files(x86)\Microsoft Visual Studio 14.0\VC\Linux\include”文件夹不同)。我试图将复制的PI_源文件夹添加到项目属性中的include目录和源目录中

试图生成以下文件会导致错误…Visual Studio抱怨找不到socket.h和sockios.h

#include <cstdio>
#include <asm-generic\socket.h>
#include <asm-generic\sockios.h>

int main()
{
    printf("hello from Pi_Testing!\n");
    return 0;
}
#包括
#包括

如何让VisualStudio成功构建并正确链接源文件和目录

我是否将Pi Include文件夹放在了错误的路径中?是否需要将其置于
*C:\ProgramFiles(x86)\Microsoft Visual Studio 14.0\VC\Linux\include\usr\include*

还有其他建议吗?

您对头文件使用了错误的路径分隔符,在Linux上是
/
,在Windows上是
\
。幸运的是,Visual C++接受了这两种形式,因此跨平台代码应该使用<代码> /< /COD> 更一般地说。您通常会在项目设置的C/C++常规页面中指定包含路径,而不是VC++目录

在C/C++常规页面的
附加包含目录中指定的包含路径有两个用途:

  • 远程Linux系统上的路径,例如
    /usr/include/asm generic
    ,用于告诉
    g++
    在编译期间在何处查找标头

  • Windows主机上用于告诉VS在何处查找IntelliSense标头的路径

  • 在vclinux1.0.5中,您需要同时指定这两个选项。对于相对路径,这可能导致同一路径被指定两次

    默认情况下,使用代码< > G++>代码>搜索VCLinux,VCLinux为智能化的标准C++运行时提供标题的拷贝,因此通常不需要为这些项目设置任何添加。但是,VCLinux发行版中缺少所需的头文件,尽管您的源文件可以正常编译,但IntelliSense不会知道这些头文件。因此,是的,将标题放在Windows系统的某个地方,任何地方都可以,并在项目设置中指定Windows路径,只需一次