VS2022跨平台开发找不到linux下的头文件
vs跨平台开发,语法高亮没问题,编译却找不到头文件。
·
VS2022跨平台开发找不到linux下的头文件
使用vs2022跨平台开发:
#include <iostream>
#include <netinet\in.h>
using namespace std;
int main()
{
cout << "hello world" << endl;
}
在vs上,代码高亮没有问题,但是提示找不到netinet\in.h头文件。
解决方法:修改包含路径里的斜杠。左斜杠改成右斜杠。【Linux使用右斜杠分割路径】
#include <netinet/in.h>
关联的注意点:
1、vs的工具、选项、跨平台、连接管理器、远程表头IntelliSense 管理器:负责将远程服务器上的头文件复制到本地,从而提供给vs,用于vs本地的代码语法高亮。
更新:可以重新复制一遍头文件到本地缓存。
浏览:可以查看保存在本地的头文件缓存,我的缓存地址是
“C:\Users*****\AppData\Local\Microsoft\Linux\HeaderCache\1.0-1008359268\usr”,可以看到这个目录下有usr文件,其中包含了linux下的通用头文件。
我这的缓存,能够找到in.h文件,这就是为啥vs的语法高亮没有问题。
2、vs编译,是将本地源文件复制到远程linux环境上,查看gcc的默认include路径:
#gccgcc -print-prog-name=cc1plus -v
#g++g++ -print-prog-name=cc1plus -v
我这里的Linux环境默认包含了/user/include,里面也有in.h文件。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)