【问题标题】:Libxl + windows + QTLibxl + Windows + QT
【发布时间】:2013-06-04 09:19:16
【问题描述】:
我从官方网站安装了 libxl 包文件。它包含 include_cpp 文件夹中的头文件和 libs 文件夹中的 libxl.lib。我正在使用 QT(cpp) 来运行我的项目。我能够将 libxl 包链接到 linux 中的 QT(通过右键单击并添加 lib 路径和包含路径来编辑其 .pro 文件。)。 Windows中的相同功能不起作用。有时它会空运行控制台,然后再次执行会引发 .dll 文件丢失的错误(即使我添加了
配置 += 静态
在 .pro 文件中。)
我什至尝试下载 libxl 的静态链接包并将 .lib 文件添加到 QT,但仍然没有好运。
【问题讨论】:
标签:
c++
qt
shared-libraries
static-libraries
libxl
【解决方案1】:
将此添加到INCLUDEPATH: 小心替换为库的正确位置
-isystem "C:\path\to\libxl\"
如果有帮助,请报告。这可能被认为是一种 hack,但是当在 windows 中链接 boost 库出现问题时,它对我有用几次
【解决方案2】:
添加应该没问题
win32:LIBS += -LD:/PATH/TO/LIB -lxl
win32:INCLUDEPATH += D:/PATH/TO/LIBHEADERS/
到您的 .pro 文件。
【解决方案3】:
有时它会空运行控制台,稍后再次执行会引发 .dll 文件丢失的错误
如果应用程序编译干净而没有链接错误但在启动时抛出丢失的 dll 错误,则应用程序无法找到 dll 文件。 Dll 应该与 app 位于相同的目录中,或者位于 PATH 环境变量中的目录中。当满足上述条件时,Windows 上还有“清单”可以阻止应用程序加载 dll。
有depends.exe工具来检查应用程序依赖的dll。
即使我在 .pro 文件中添加了 CONFIG += static。
我认为在您的项目文件 CONFIG var 中设置静态不会改变任何东西。要获得静态构建,您必须使用静态选项编译 qt。