转载链接
在工程上,我们肯定会封装自定义的一些头文件和源文件,然后我们会在执行文件中调用这些封装的头文件,因此,我们在使用vscode时,需要进行一些设置,才能实现这样的需求。
sum.h
#ifndef __SUM__
#define __SUM__
int sum(int a,int b);
#endif
sum.cpp
#include "sum.h"
int sum(int a, int b)
{
int sum_add = 0;
sum_add = a + b;
return sum_add;
}
coco.cpp
#include
#include
#include "sum.h"
using namespace std;
int main()
{
int n1, n2;
cout << "输入两个整数: ";
cin >> n1 >> n2;
cout << "sum is " << sum(n1,n2) << endl;
while(n1 != n2)
{
if(n1 > n2)
n1 -= n2;
else
n2 -= n1;
}
cout << "HCF = " << n1 << endl;
system("pause"); // 防止运行后自动退出,需头文件stdlib.h
return 0;
}
第一种方法的话就是全部放在用一个文件夹,这是最无脑的方式,所以这种方式如果遇到大工程的开发时,就会显得很乱,而且也不方便修改。
所以我们更建议使用第二种方法
(1)先新建三个文件夹,分别是include(存放头文件),execute(存放源文件),code_exe(程序执行的小窗口,后续会将如何修改他保存的路径。)
(2)按下ctrl + shift + p
,选择第二个编辑配置,然后会生成一个c_cpp_properties.json
文件
(3)在c_cpp_properties.json
文件下的includePath
添加头文件的目录,
可以右键include包,然后复制路径。
(4)c_cpp_properties.json
文件配置完之后,打开task.json
文件,这里也需要添加路径,在args
的参数里添加 “-I” ,“头文件的路径”,“源文件的路径”。
记得保存,保存完之后基本就已经完成了自定义头文件的配置了,然后重启程序你就会发现程序已经可以正常运行了,这里主要就是看c_cpp_properties.json
文件和task.json
文件,然后把头文件的路径和源文件的路径设置好就行了。
注意: 如果有多个include
路径,要分别添加 “-I” ,“头文件的路径”,“源文件的路径”。
(5)能够正常使用自定义的头文件之后,我们对执行文件exe也进行一下整理,使他统一保存在一个包了。我们首先打开.vscode
文件夹下的 task.json
文件,找到“${fileDirname}\${fileBasenameNoExtension}.exe”
修改成“${fileDirname}\code_exe\${fileBasenameNoExtension}.exe”
并保存,同理,launch.json
下也有相同的字段,需要你修改
在源文件同目录下新建code_exe 文件夹,程序运行后,可执行文件将会生成在里面(其中 code_exe 可修改成你喜欢的英文名字)
(6)设置完task.json
文件,再来设置一下launch.json
文件,在program上也输入可执行文件exe的路径,这样在程序执行时才会打开该文件,如果没修改的话,可能会报错没找到该文件。
遇到的问题:
报错:gcc:error trying to exec 'cc1obj':execvp:No such file or directory!
解决办法:sudo apt-get install gobjc
报错:undefined reference to `pthread_create‘
解决办法:修改tasks.json
文件,把"args"
修改为如下,在最后像命令行中一样加上“-lpthread”
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}",
"-lpthread"
],