前言
首先Windows下是没有linux的依赖的,因此在Windows向下编写linux的代码是无法实现自动补全的,那么解决的办法就是将linux的依赖拿到Windows上,编写程序轻松一点,然后在linux上编译即可。
①
要知道linux的依赖在 /usr/include 目录下,只需要把它拷贝到Windows上即可,我是通过share与Windows进行交互的,不用依赖啥网络。
cp -r /usr/include/ /mnt/hgfs/share/
②
在linux中随便建立一个文件夹,保存拷贝出来的依赖,我是放在D:\Program Files\linux_include目录下,拷贝过来即可
③
重点来了,需要设置vscode的全局includePath配置
默认的情况下includePath 在 c_cpp_properties.json 中设置,也就是工程目录下的一些头文件设置,如果你是只需要在工程目录下找到这些依赖的话,只需配置c_cpp_properties.json文件即可。(这个文件可以自己在.vscode中创建)
添加以下代码:
"includePath": [
"${workspaceFolder}/**",
"D:/Program Files/linux_include/include/**"
],
但是我们需要将这项依赖全局化,让所有使用linux打开的工程都能找到这些依赖,我们就要设置vscode的全局includePath。
首先选中 “管理” -> “设置” -> 输入Settings -> “在Settings.json中编辑”。
打开Settings.json文件,添加以下代码:
"[cpp]": {
"editor.quickSuggestions": true
},
"[c]": {
"editor.quickSuggestions": true
},
"C_Cpp.default.includePath": [
"D:/Program Files/linux_include/include/x86_64-linux-gnu/**",
"${workspaceFolder}/**",
"D:/Program Files/linux_include/include/**",
"D:/Program Files/linux_include/include/"
],
上面的这些代码是对应的依赖路径(可以适当调整的)
"D:/Program Files/linux_include/include/x86_64-linux-gnu/**",
"D:/Program Files/linux_include/include/**",
"D:/Program Files/linux_include/include/"
至此,我们看到linux编写的代码就不会找不到依赖:
并且还能自动补全:
附配置文件:
c_cpp_properties.json
{
"configurations": [
{
"name": "Win32",
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"includePath": [
"${workspaceFolder}/**",
"D:/Program Files/linux_include/include/**"
],
"intelliSenseMode": "msvc-x64"
}
],
"version": 4
}
Settings.json
{
"files.autoGuessEncoding": true,
"workbench.statusBar.feedback.visible": true,
// 控制工作台底部状态栏的可见性。
"workbench.statusBar.visible": false,
"terminal.integrated.env.windows": {
"PATH": "C:\\Users\\jiejie\\.aos\\python-venv\\Scripts;${env:PATH}"
},
"window.zoomLevel": 0,
"workbench.startupEditor": "welcomePage",
"editor.renderWhitespace": "none",
"editor.renderControlCharacters": false,
"breadcrumbs.enabled": false,
"C_Cpp.updateChannel": "Insiders",
"aliosStudio.showWelcome": false,
"cmake-tools-helper.cmake_download_path": "c:\\Users\\jiejie\\.vscode\\extensions\\maddouri.cmake-tools-helper-0.2.1\\cmake_download",
"[cpp]": {
"editor.quickSuggestions": true
},
"[c]": {
"editor.quickSuggestions": true
},
"C_Cpp.default.includePath": [
"D:/Program Files/linux_include/include/x86_64-linux-gnu/**",
"${workspaceFolder}/**",
"D:/Program Files/linux_include/include/**",
"D:/Program Files/linux_include/include/"
],
}