【问题标题】:Debugging Qt with Visual Studio使用 Visual Studio 调试 Qt
【发布时间】:2016-02-11 12:57:27
【问题描述】:

如何在 Visual Studio 2005 中调试 Qt 4.8? 构建版本确实有效,但如果我尝试调试,我总是会收到此消息:

此应用程序无法启动,因为应用程序配置不正确。查看清单文件以了解可能的错误。重新安装应用程序可能会解决此问题。有关详细信息,请参阅应用程序事件日志。

我该如何解决这个问题?谢谢!

更新

我使用 configure -platform win32-msvc2005jom 而不是 nmake 为 Visual Studio 2005 重建 Qt(该死的太快了),现在得到以下错误代码:

应用程序无法正确启动 (0xc0150002)。单击“确定”关闭应用程序。

更新2

如何修复 DLL 和错误消息?

依赖步行者:

缺少 DLL

  • MSVCP90D.DLL
  • MSVCR90D.DLL
  • API-MS-WIN-APPMODEL-RUNTIME-L1-1-0.DLL
  • API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
  • API-MS-WIN-CORE-WINRT-L1-1-0.DLL
  • API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
  • API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
  • API-MS-WIN-SHCORE-SCALING-L1-1-1.DLL
  • DCOMP.DLL
  • IESHIMS.DLL

错误信息

错误:“c:\qt\4.8.6\bin\QTGUID4.DLL”的并排配置信息包含错误。

错误:未找到至少一个必需的隐式或转发依赖项。

错误:由于隐式依赖模块中缺少导出函数,至少有一个模块存在未解析的导入。

错误:发现具有不同 CPU 类型的模块。

警告:未找到至少一个延迟加载依赖模块。

警告:由于延迟加载相关模块中缺少导出功能,至少有一个模块存在未解析的导入。

更新 3

我现在从头开始:

  1. 安装qt-opensource-windows-x86-vs2008-4.8.6.exe(从qt-everywhere-opensource-src-4.8.6.zip 构建甚至会导致发布模式不再工作,找不到QtGuid4.libQtGui4.lib,但是从安装的Qt 构建它会找到库)
  2. 安装qt-vs-addin-1.1.11-opensource.exe
  3. jom distclean "错误:文件 Makefile 不存在退出。"
  4. jom confclean "错误:文件 Makefile 不存在退出。"
  5. configure -platform win32-msvc2005
  6. jom

jom的最后几行输出:

C:\Qt\4.8.6>jom

[...]

qimageiohandler.cpp
qimagereader.cpp
qimagewriter.cpp
qpaintengine_pic.cpp
qkeymapper_win.cpp
qiconloader.cpp
Code wird generiert...
Code wird generiert...
qimage.cpp

jom: C:\Qt\4.8.6\src\gui\Makefile.Release [tmp\obj\release_shared\qguiplatformpl
ugin.obj] Error 2
        cl -c -FIqt_gui_pch.h -Yuqt_gui_pch.h -Fptmp\obj\release_shared\QtGui_pc
h.pch -nologo -Zm200 -Zc:wchar_t- -O2 -MD -W3 -w34100 -w34189 -GR -EHsc -DQT_SHA
RED -DQT_THREAD_SUPPORT -DUNICODE -DWIN32 -DQT_BUILD_GUI_LIB -DQT_NO_USING_NAMES
PACE -DQT_MAKEDLL -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -
DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -D_USE_MATH_DEFINES -DQT_NO_DIRECTDRAW -D
QT_USE_BUNDLED_LIBPNG -DPNG_NO_ASSEMBLER_CODE -DQT_NO_CUPS -DQT_NO_LPR -DQT_NO_O
PENTYPE -DQT_NO_STYLE_MAC -DQT_NO_STYLE_GTK -DQT_NO_STYLE_WINDOWSCE -DQT_NO_STYL
E_WINDOWSMOBILE -DQT_NO_STYLE_S60 -DQT_NO_EGL -DQ_INTERNAL_QAPP_SRC -DQT_NO_DIRE
CTWRITE -DQT_DLL -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_
HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DNDEBUG -I"..\..\include\QtCore" -I"..
\..\include" -I"..\..\include\QtGui" -I"tmp\rcc\debug_shared" -I"tmp" -I"..\3rdp
arty\wintab" -I"image" -I"..\3rdparty\libpng" -I"..\3rdparty\zlib" -I"..\3rdpart
y\zlib" -I"..\3rdparty\harfbuzz\src" -I"dialogs" -I"..\..\include\ActiveQt" -I"t
mp\moc\release_shared" -I"." -I"..\..\mkspecs\win32-msvc2005" -Fotmp\obj\release
_shared\ @C:\Users\fpieske\AppData\Local\Temp\qpicture.obj.5884.19719.jom

qpicture.cpp
qpictureformatplugin.cpp
qpixmap.cpp
qpixmapdata.cpp
Code wird generiert...
Code wird generiert...
jom: C:\Qt\4.8.6\src\gui\Makefile [release-all] Error 2
jom: C:\Qt\4.8.6\Makefile [sub-gui-make_default-ordered] Error 2

C:\Qt\4.8.6>

【问题讨论】:

    标签: visual-studio qt debugging visual-studio-2005 qt4.8


    【解决方案1】:

    尝试以下方法:

    1. 打开命令提示符并遍历到 Qt .pro 文件所在的目录。
    2. 运行以下命令 - qmake -tp vc {项目文件名}。
    3. 打开 Visual Studio 并浏览到同一目录。现在里面应该有一个生成的 VS 项目。
    4. 打开项目。
    5. 在 VS 项目属性|配置属性|调试中设置任何环境或命令行参数。
    6. 构建应用程序的调试版本并运行它。
    7. 保存解决方案。

    如果您遇到构建问题,可能是项目文件中存在错误转义的字符串(至少就 VS 而言)。例如

    DEFINES+=\"DEFINE_NAME=$$quote(\\"SomeString\\")\"

    暂时需要修改为:

    DEFINES+=\"DEFINE_NAME=$$quote(\"\"\"SomeString\"\"\")\"

    【讨论】:

    • 我认为使用 Visual Studio 创建的 Qt 项目不包含任何 *.pro 文件?至少我找不到。
    【解决方案2】:

    我明白了!即将退出尝试使用 Visual Studio 进行调试并改用 Qt Creator。在阅读如何配置 Qt Creator 时,我阅读了有关安装 Windows SDK 的信息。使用 Qt Creator 进行良好调试仍然无法正常工作(未知调试器类型“无引擎”),但安装 Windows SDK 解决了我在 Visual Studio 中的调试问题!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-08
      • 2017-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多