VS2019 linux 头文件

Rog*_*win 1 c header-files visual-studio-2019

我正在尝试使用 VS2019 为 linux 开发 C 代码。

我发现虽然可以找到许多 Linux 标头,例如 sys/types.h 和 sched.h,但找不到其他标头,例如 sys/syscall.h 和 fcntl.h。

我可以看到它在本地 linux 平台目录中有许多头文件的本地副本,例如 stdint.h ......我可以从目标机器上剪切并粘贴缺少的那些吗?

我宁愿怀疑如果 unistd.h 之类的常见头文件丢失是有原因的,我不想把事情搞砸!

Lay*_*rdo 5

来自微软的文档:

默认情况下,Visual Studio 不包含来自 Linux 计算机的任何系统级包含文件。例如,/usr/include 目录中的项目在 Visual Studio 中不存在。要获得完整的 IntelliSense 支持,您需要将这些文件复制到开发计算机上的某个位置,并将 Visual Studio 指向该位置。一种选择是使用 scp(安全复制)来复制文件。在 Windows 10 上,您可以在 Windows 上使用 Bash 来运行 scp。对于以前版本的 Windows,您可以使用 PSCP(PuTTY 安全复制)之类的东西。

您可以使用类似于以下的命令复制文件:

scp -r linux_username@remote_host:/usr/include 。

当然,将上面的 linux_username 和 remote_host 值替换为适合您自己环境的值。

复制文件后,使用项目属性中的 VC++ 目录项告诉 Visual Studio 在哪里可以找到刚刚复制的其他包含文件。

  • 较新版本的 Visual Studio 现在将自动导入远程标头。请参阅 https://docs.microsoft.com/en-us/cpp/linux/configure-a-linux-project?view=vs-2019#remote_intellisense (2认同)