Maison >outils de développement >VSCode >vscode a un fichier d'en-tête et ne peut pas être compilé, solution

vscode a un fichier d'en-tête et ne peut pas être compilé, solution

尚
original
2020-03-28 10:40:534762parcourir

vscode a un fichier d'en-tête et ne peut pas être compilé, solution

在使用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"
}

推荐学习:vscode教程

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn