Visual Studio 2017:Windows 10的WSL中能否配置/usr/includes为头文件路径?
直接在VS2017 Linux Development Kit Makefile项目中引用WSL的/usr/include是否可行?
当然可行!而且这才是最贴合VS Linux开发套件设计思路的做法,比你提到的复制目录或创建符号链接要省心得多。
为什么能直接设置?
VS的Linux Development Kit本质是通过远程连接(这里你的目标环境是WSL,属于本地Linux实例)来完成编译流程的——代码编辑在Windows端,但实际编译操作是在WSL内部执行的。所以你在项目里配置的头文件路径,是给WSL里的gcc/clang编译器看的,直接写Linux环境下的/usr/include完全没问题,不需要映射到Windows的文件路径。
具体操作步骤
- 打开你的VS2017 C++ Makefile项目,右键点击项目名称,选择「属性」
- 在属性页里找到「Linux Makefile」或「NMake」相关配置项(不同版本可能位置略有区别),定位到「附加包含目录」(Additional Include Directories)
- 在输入框中直接添加
/usr/include,如果需要更细分的头文件路径(比如针对x86架构的/usr/include/x86_64-linux-gnu),也可以一并添加
额外注意事项
- 先确认VS已经正确连接到你的WSL实例:可以通过「工具」->「选项」->「跨平台」->「连接管理器」检查,确保WSL环境已被添加且连接正常
- 不需要复制
/usr/include到Windows:VS会通过WSL的文件系统映射(或者远程同步机制)自动获取头文件信息,提供语法提示和智能补全;而且WSL更新系统头文件后,你这边的配置不需要任何改动,直接就能用 - 对比你之前的思路:复制目录会占用额外磁盘空间,还会出现头文件不同步的问题;用
mklink虽然能同步,但属于绕弯的方案,直接设置Linux原生路径才是最简洁的方式
内容的提问来源于stack exchange,提问作者tom_mai78101
相关产品推荐
相关产品推荐

