目的:在VScode中编译c++时使用第三方库
原理:vscode按下运行后实际上是按照tasks.json中配置好的指令调用gcc,因此在tasks.json中配置好指向第三方库的指令即可
方法:
-
在项目下的.vscode文件夹中创建tasks.json文件,如图
-
在tasks.json中将第三方库配置好,我这里希望第三方库可以随着我的工程文件移动,不污染我的系统环境,因此将库文件夹配置到了项目工程下,新增一个库需要的配置主要有三个部分,如我希望添加fftw库到我的工程中,就会在tasks的args中添加三种内容,如下
"-I","${workspaceFolder}/fftw",
"-L","${workspaceFolder}/fftw",
"-llibfftw3-3",
"-llibfftw3f-3",
"-llibfftw3l-3",
其中,-I(i的大写)指定头文件路径,-L指定连接的动态库或者静态库路径,-l(L的小写)指定需要链接的库的名字如libfftw3-3.dll对应-llibfftw3-3
配置好的tasks.json大概如下
"tasks": [
{
"type": "cppbuild",
"label": "build",
"command": "D:\\mingw64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-I","${workspaceFolder}",
"-L","${workspaceFolder}",
"-I","${workspaceFolder}/fftw",
"-L","${workspaceFolder}/fftw",
"-llibfftw3-3",
"-llibfftw3f-3",
"-llibfftw3l-3",
"-lpthread"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"