Which compiler option I should choose?
我必须使用第三方静态库让我的 qt 应用程序在 Windows 上运行。第三方为我提供了一个 .lib 和 .h 文件供我使用。这些库是用 MSVC 编译器编译的。
我的 qt Creator 正在使用 MinGW 编译器来编译我的应用程序。我将 .h 和 .lib 文件复制到我的 qt 项目目录中,然后将它们添加到 .pro 文件中,如下所示
QT += core gui
TARGET = MyTest TEMPLATE = app
LIBS +=
C:\\Qt\\2010.05\\qt\\MyTest\
ewApi.libSOURCES += main.cpp\\
mainwindow.cppHEADERS += mainwindow.h \\
newApi.hFORMS += mainwindow.ui
现在我遇到了一些像这样的运行时错误 -
Starting
C:\\Qt\\2010.05\\qt\\MyTest-build-desktop\\debug\\MyTest.exe...
C:\\Qt\\2010.05\\qt\\MyTest-build-desktop\\debug\\MyTest.exe
exited with code -1073741515
任何机构都可以建议这个运行时错误是由于编译器不匹配造成的吗? (因为我添加的 .lib 文件是在 MSVC 编译器中编译的,而我的 qt 应用程序是使用 MinGW 编译器编译的)
如果不是,可能是什么原因?在将 .h 和 .lib 文件添加到我的 qt 项目时,我是否遗漏了什么?
如果我的 MinGW 编译器不支持在 MSVC 编译器中生成的 .lib 文件,那可能是什么?
我可以在 MinGW 编译器中创建 .lib 文件吗?还是只有 MSVC 编译器才支持这种格式?
请建议...
如果此问题是由于编译器不匹配(MINGW 与 MSVC)造成的,那么我预计链接应用程序会失败。但这显然有效。
这可能是在应用程序启动时找不到某些依赖 DLL 的问题。
如果搜索路径中的所有 DLL 都可用,请检查依赖 walker (http://www.dependencywalker.com/)。
如果第三方库提供 C 接口,您必须使用相同的编译器来构建您的应用程序。如果您买不起 Visual Studio 的商业版本,您可以使用 Express Edition。您应该找出库中使用了哪个编译器版本(2005、2008、2010),否则您可能会遇到兼容性问题。出于同样的原因,您可能必须构建一个静态应用程序 - 但首先要研究 Qt 许可条件。