应用程序错误 - 调试 exe 无法运行
Posted
技术标签:
【中文标题】应用程序错误 - 调试 exe 无法运行【英文标题】:Application error - debug exe wont run 【发布时间】:2012-09-21 16:13:40 【问题描述】:我最近下载了Assimp,但遇到了一些麻烦。
我已经链接了库,我可以编译程序,它在Release mode
中运行良好;然而,Debug
.exe
却出现了这个错误:
应用程序无法正确启动 (0xc0150002)。单击“确定”关闭应用程序。
更多细节:
我正在使用 VS2010,目标机器设置为 x86
。
我正在使用提供的 32 位调试 dll (Assimp32d.dll
),我尝试将运行时库设置为 /MT
、/MTd
、/MD
和 /MDd
,但没有成功.
我从其他类似的线程中读到我应该在.exe
上运行Dependency Walker
,但我不确定输出的含义。如果对大家有帮助,我会贴在这里。
错误:“c:\users\-----\documents\visual studio 2010\projects\AssimpTest\debug\ASSIMP32D.DLL”的并排配置信息包含错误。应用程序无法启动,因为它的并排配置不正确。请查看应用程序事件日志或使用命令行 sxstrace.exe 工具了解更多详细信息 (14001)。 错误:未找到至少一个必需的隐式或转发依赖项。 错误:由于隐式依赖模块中缺少导出函数,至少一个模块具有未解析的导入。 错误:发现具有不同 CPU 类型的模块。
【问题讨论】:
应用程序事件日志告诉您什么?如果您看到有关 DebugCRT 丢失的消息,那么您需要使用 VS2010 从源代码重建 DLL。 刚刚弄清楚如何检查。它说:依赖程序集 Microsoft.VC90.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8" 找不到。请使用 sxstrace.exe 进行详细诊断。看来我得重建了。? 您的下载可能已损坏。您可以尝试重新下载 Assimp。如果这不能解决问题,重新编译可能是解决方案。 【参考方案1】:我没有重新构建库,而是下载了一组不同的库(它是 SDK 安装程序),其中的调试 dll 运行良好。
以防万一有人在使用同一个软件时遇到同样的问题,这是为我工作的安装程序的确切名称:assimp-sdk-3.0-setup.exe
【讨论】:
谢谢,其实我也遇到了同样的问题,不知道怎么办。这很奇怪。您的解决方案解决了我的问题!【参考方案2】:我在使用 Assimp 3.0 时尝试在调试模式下运行 64 位项目时遇到了同样的问题。
我所做的是转到 assimp/workspaces/vc9,在 Visual Studio 10 中打开 assimp.sln,转换项目,然后重建 32 位和 64 位 dll。 请注意,您还必须为此安装 boost,并编辑项目属性,使其指向包含的 boost 目录。
可能还有一种使用 CMake 的方法,但我发现整个过程一开始就太麻烦了。
【讨论】:
【参考方案3】:我的解决方案只是将调试版本链接到发布的 .dll 文件。没有更多的问题,而且我对调试 Assimp 库也没有那么感兴趣!
【讨论】:
【参考方案4】:我遇到了同样的问题,后来我下载了“assimp-sdk-3.0-setup.exe”文件并将其安装为标准的 Windows 应用程序。
我将 Visual Studio Solution Include & Lib 目录指向新安装位置的相应文件夹,将 DLL 复制到我的应用程序位置。问题已解决。希望这可以帮助某人。
干杯。
【讨论】:
以上是关于应用程序错误 - 调试 exe 无法运行的主要内容,如果未能解决你的问题,请参考以下文章
关于 MSVSMON.EXE 的 Visual Studio 调试错误似乎没有运行
当我的应用程序无法在调试模式下运行,但 exe 文件可以正常运行时,这意味着啥?
“无法在 Web 服务器上开始调试” MSVSMON.EXE 无法启动。 VS2010 错误
visual C++ 6.0 问题:链接:致命错误LNK1104:无法打开文件“调试/ d.exe“ 执行link.exe时出错。