应用程序错误 - 调试exe不会运行

时间:2012-09-30 15:58:26

标签: c++ visual-studio-2010 linker assimp

我最近下载了Assimp,但我遇到了一些麻烦。

我已经链接了库,我可以让程序编译,它在Release mode中运行良好;但是,Debug .exe遇到了这个错误:

  

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

error

更多细节:

  • 我正在使用VS2010,目标计算机设置为x86

  • 我正在使用提供的32位调试dll(Assimp32d.dll),我尝试将运行时库设置为/MT/MTd/MD/MDd没有运气。

我从其他类似的线程中读到我应该在Dependency Walker上运行.exe,但我不确定输出是什么意思。如果这对你们有帮助,我会把它贴在这里。

  

错误:“c:\ users \ ----- \ documents \ visual studio 2010 \ projects \ AssimpTest \ debug \ ASSIMP32D.DLL”的Side-by-Side配置信息包含错误。应用程序无法启动,因为它的并排配置不正确。请参阅应用程序事件日志或使用命令行sxstrace.exe工具获取更多详细信息(14001)。   错误:找不到至少一个必需的隐式或转发依赖项。   错误:由于隐式依赖模块中缺少导出功能,至少有一个模块具有未解析的导入。   错误:找到了具有不同CPU类型的模块。

4 个答案:

答案 0 :(得分:7)

我没有重建库,而是下载了一组不同的库(它是SDK安装程序),并且调试dll的工作正常。

万一有人对同一软件有同样的问题,这就是适用于我的安装程序的确切名称:assimp-sdk-3.0-setup.exe

答案 1 :(得分:1)

在使用Assimp 3.0时尝试在调试模式下运行64位项目时遇到了同样的问题。

我做的是去assimp / workspaces / vc9,在Visual Studio 10中打开assimp.sln,转换项目,然后重建32位和64位dll。 请注意,您必须为此安装boost,并编辑项目属性,使其指向包含的boost目录。

使用CMake可能还有一种方法可以做到这一点,但我发现整个过程过于繁琐而无法在一开始就麻烦。

答案 2 :(得分:1)

我的解决方案只是将调试版本链接到发行版.dll文件。没有更多的问题,我对调试Assimp库并不感兴趣!

答案 3 :(得分:0)

我遇到了同样的问题,后来我下载了“assimp-sdk-3.0-setup.exe”文件&将其安装为标准的Windows应用程序。

我指出Visual Studio Solution Include&从新安装的位置到各个文件夹的Lib目录,将DLL复制到我的应用程序位置。问题解决了。希望这有助于某人。

干杯。