调试版本运行但发布给出 0xc000007b - 缺少 dll?

Posted

技术标签:

【中文标题】调试版本运行但发布给出 0xc000007b - 缺少 dll?【英文标题】:Debug version runs but release gives 0xc000007b - missing dlls? 【发布时间】:2013-04-09 17:24:38 【问题描述】:

当通过 VS2010 通过 Project Only > ProjectName 运行我的 Visual Studio C++ 应用程序调试版本时,生成的 exe 运行良好。但是,当我生成发布版本并转到创建 exe 的文件夹时,我收到以下错误:

The application was unable to start correctly (0xc000007b). Click Ok to close the application

文件夹中的文件只是 exe 文件,而我的项目使用各种 boost 库。 是否有可能由于缺少 boost dll 而发出此消息?有没有办法让编译器将所有必要的dll粘贴到exe文件夹中。

有什么方法可以从 VS2010 启动发布版本,就像我们在调试 >> 启动新实例中的调试版本一样

【问题讨论】:

【参考方案1】:

我讨厌这种情况发生。可能是它缺少 bloost DLL 的事实:解决此问题的最简单方法是将文件夹添加到 Path 环境变量中。可悲的是,我们没有从您的帖子中获得足够的信息来确认这是问题所在。常见的其他问题包括:您正在链接到为不同架构构建的库/正在使用不同的运行时库,您缺少其他 3rd 方 dll,您在链接器中使用的 .lib 文件指向不同版本的代码比您指向的 dll...不胜枚举。

至于在运行时复制 dll,您可以使用自定义构建事件 [http://msdn.microsoft.com/en-us/library/e85wte0k%28v=vs.80%29.aspx]。只需编写一个将 dll 复制为“构建后事件”的批处理脚本就可以了,但我建议先使用 Path 方式。

【讨论】:

有没有办法检查exe需要哪些dll文件? 如果调试版本运行我不明白为什么发布版本没有运行?有没有办法从 VS2010 推出发行版? @MistyD 是的,你应该可以。差异可能是因为你的代码的Debug和Release版本使用了自己的配置文件,所以设置不一样。

以上是关于调试版本运行但发布给出 0xc000007b - 缺少 dll?的主要内容,如果未能解决你的问题,请参考以下文章

Python首次安装后运行报错(0xc000007b)的解决方法

部署Qt应用时候报错0xc000007b

Windows 7 64上出现0xc000007b错误

Qt 应用程序无法正确启动(0xc000007b)

VS运行时报0xc000007b错误

Python安装完成 运行的时候报错 0xc000007b