vscode 函数没有引入提示_VSCODE编译头文件时函数没有定义的解决方案(VSCODE手动链接C文件方法)...

在使用VSCODE进行C语言程序设计时,如果用到了头文件声明函数,.c文件定义函数,在编译时尽管已经引用了相应的头文件,VSCODE文本编辑器也没有报错,但仍然无法编译。

错误提示如下:

d:/ComputerHomework/2019_winter/main.c:10: undefined reference to `ReadPathTkFile'

这是由于VSCODE实际上是一个文本编辑器,不是一个IDE,它不会自动链接项目通过头文件引用的.c文件。要解决这个问题,就要告诉编译器需要链接哪些文件。

解决方法

在当前路径下的.vscode文件夹中找到tasks.json,找到"args"属性,在其中"-g"后,"-o"前加入"${fileDirname}\\YourcFileName.c",每组字符串以逗号分隔。YourcFileName.c即项目中要参与编译的文件名。

样例如下(仅参考填写格式,具体参数不相同正常)

{

"tasks": [

{

"type": "shell",

"label": "gcc.exe build active file",

"command": "C:\\mingw64\\bin\\gcc.exe",

"args": [

"-g",

"${file}",

"${fileDirname}\\IstkFile.c",

"${fileDirname}\\PrintQuestion.c",

"${fileDirname}\\MarkingSystemLib.c",

"${fileDirname}\\zqyLib.c",

"-o",

"${fileDirname}\\${fileBasenameNoExtension}.exe"

],

"options": {

"cwd": "C:\\mingw64\\bin"

}

}

],

"version": "2.0.0"

}

如果觉得一个个添加文件比较麻烦,可以使用MakeFile的方法。这里不做详细介绍。

下面的链接是C++MakeFile模板:

C++MakeFile模板

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VSCode进行C++多文件编译头文件的关联是非常重要的。以下是一些基本的步骤来确保头文件正确关联: 1. 在源文件包含头文件:在您的源文件(.cpp文件,使用`#include`指令来包含相关的头文件。例如,如果您有一个名为`example.h`的头文件,您可以在源文件添加`#include "example.h"`来关联它。 2. 设置头文件搜索路径:如果您的头文件不在源文件所在的目录,您需要设置头文件的搜索路径。在VSCode,可以通过编辑`.vscode/tasks.json`文件的构建任务来设置编译器的搜索路径。在编译命令使用`-I`选项来指定头文件的路径。例如:`g++ -I/path/to/header-files main.cpp -o main` 3. 确保头文件和源文件同名:为了方便管理,通常将头文件和源文件命名相同,并使用`.h`和`.cpp`作为扩展名。这样可以更容易地找到和关联相应的头文件和源文件。 4. 使用预编译指令:如果您的头文件用于定义常量、宏或模板类/函数等,您可能需要在使用它们的源文件添加适当的预编译指令。例如,如果您在头文件定义了一个模板类,您需要在使用该类的源文件添加`template class ClassName<Type>;`来实例化模板。 请注意,具体的步骤和配置可能因您的项目和开发环境而有所不同。您可能需要根据实际情况自定义构建任务和编译选项。 希望这些步骤能帮助您在VSCode成功进行C++多文件编译并正确关联头文件。如有任何问题,请随向我提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值