您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Visual Studio 2017 Linux项目中无法识别Linux头文件

在Visual Studio 2017 Linux项目中无法识别Linux头文件

在我的Linux系统(Debian Jessie)ucontext.h上,usr/include其中包含的sys/ucontext.h内容gcc将在中找到usr/include/i386-linux- gnu/sys。第一个定义功能getcontextsetcontext。第二个定义数据结构ucontext_t等。

在Windows主机上,VCLinux在中安装了第二个副本ucontext.h(定义了数据结构)C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\Linux\include\usr\include\x86_64-linux- gnu\sys。但是第一个ucontext.h不存在。

VCLinux / Visual Studio将在Linux远程平台上编译并运行此程序:

#include <ucontext.h>
#include <iostream>
int main()
{
   ucontext ucxt;
   ::getcontext (&ucxt);
   std::cout << ucxt.uc_flags << std::endl;
   return 0;
}

但是IntelliSense不会知道功能getcontext和/setcontext或关联的数据结构。因此,您将在名称下看到很少的红色弯曲,并且没有完成帮助。

您可以复制第一个副本ucontext.h并将其C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\Linux\include\usr\include放在Windows主机上。这样,一切都会正常进行。您可能会在@L_301_0@上引发缺少标题的问题。

注意:Windows路径适用于Visual Studio2015。2017年将有所不同。

适用于VCLinux 1.0.6。

==============

更新18年4月10日

Microsoft已解决Linux系统之间标准包含文件位置差异的问题。如该Visual C ++博客文章中所述,特定于GCC安装程序的标头是从Linux远程复制并按每个连接存储在Windows主机上的。

其他 2022/1/1 18:21:30 有629人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶