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

QT(C++)使用libxl库出现undefined reference to `xlCreateBookW'错误求助

解决QT(C++)中libxl库undefined reference to xlCreateBookW错误的方案
  • 检查库位数与QT编译器位数是否一致
    libxl分32位、64位版本,QT用64位编译器(如MSVC 64bit、MinGW 64bit)就必须配64位的libxl.lib和libxl.dll;32位编译器对应32位库。位数不匹配直接导致链接时找不到符号。

  • 修正.pro文件中的路径写法
    Windows路径的反斜杠\在QT的.pro里要转成\\,或者换用正斜杠/,同时推荐用-L指定库目录、-l指定库名的写法,更不容易出错:

    INCLUDEPATH = C:/libxl-4.0.4.0/include_cpp  
    LIBS += -LC:/libxl-4.0.4.0/lib -lxl
    
  • 添加必要的预处理宏
    用libxl的C接口时,要确保编译器识别C版本的函数声明,在.pro文件里加一行:

    DEFINES += LIBXL_CPP
    
  • 清理旧构建文件后重新编译
    QT可能缓存旧的构建信息,导致新配置不生效:

    1. 点QT Creator的「构建」→「清理项目」
    2. 删除项目目录下的build-*文件夹
    3. 重新构建项目
  • 匹配Debug/Release模式的库文件
    libxl通常分debug和release版本,QT当前是Debug模式就用libxl_d.lib和libxl_d.dll,Release模式用libxl.lib和libxl.dll,别混用版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 05:27:18