You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode中C程序编译报错:找不到头文件xlsxwriter.h

问题描述

在VSCode中编写C程序时遭遇编译错误,提示“No such file or directory”。源代码与xlsxwriter.h头文件处于同一目录,已将头文件引入方式从<>改为"",但问题仍未解决。

源代码:

#include "xlsxwriter.h"
 
int main() {
 
    lxw_workbook  *workbook = workbook_new("hello_world.xlsx");
    lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL);
 
    worksheet_write_string(worksheet, 0, 0, "Hello", NULL);
    worksheet_write_number(worksheet, 1, 0, 123, NULL);
 
    workbook_close(workbook);
 
    return 0;
}

自动生成的tasks.json:

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: gcc.exe build active file",
            "command": "C:\\cygwin64\\bin\\gcc.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "C:\\cygwin64\\bin"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "compiler: C:\\cygwin64\\bin\\gcc.exe"
        }
    ]
}
解决方法
  • 修正编译工作目录
    当前tasks.json的cwd设为C:\\cygwin64\\bin,gcc会从此目录开始查找头文件,而你的头文件在源代码目录,导致查找失败。可以直接移除cwd配置(默认使用当前文件目录),或者将其改为"${fileDirname}":

    "options": {
        "cwd": "${fileDirname}"
    }
    
  • 显式指定头文件搜索路径
    若不想修改cwd,可在编译参数中添加-I${fileDirname},告知gcc在当前文件目录下查找头文件,将该参数加入args数组:

    "args": [
        "-fdiagnostics-color=always",
        "-g",
        "-I${fileDirname}",
        "${file}",
        "-o",
        "${fileDirname}\\${fileBasenameNoExtension}.exe"
    ]
    
  • 链接xlsxwriter库
    编译xlsxwriter程序必须链接对应库文件,否则后续会出现未定义引用错误。在args末尾添加-lxlsxwriter参数:

    "args": [
        "-fdiagnostics-color=always",
        "-g",
        "-I${fileDirname}",
        "${file}",
        "-o",
        "${fileDirname}\\${fileBasenameNoExtension}.exe",
        "-lxlsxwriter"
    ]
    

内容的提问来源于stack exchange,提问作者Jeyeffkay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 08:01:01