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

标签 c++ visual-studio-2010 release

当通过 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 启动发布版本,就像我们在 Debug >> Start new instance 中启动调试版本一样

最佳答案

我讨厌这种情况发生。可能是因为它缺少 bloost DLL:解决此问题的最简单方法是将文件夹添加到 Path 环境变量。遗憾的是,我们没有从您的帖子中获得足够的信息来确认这就是问题所在。其他常见问题包括:您正在链接到为不同体系结构构建的库/正在使用不同的运行时库,您缺少其他第 3 方 dll,您在链接器中使用的 .lib 文件指向不同版本的代码比你指向的 dll 更...这个列表还在继续。

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

关于c++ - 调试版本运行但发布给出 0xc000007b - 缺少 dll?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15908467/

相关文章:

c++ - glBufferData 崩溃

entity-framework - Entity Framework : "Update Database from Model" instead of "Generate Database from Model"

visual-studio - 工具箱中缺少 InvokeProcess?

c++ - VC++ 2010 中的 "moveable-only types"问题

c++ - 未找到 MSVCP90.dll?

c++ - 快速修复 C++ : Errors when compiling Acceptor

c++ - GetLogicalDriveStrings,为什么是字符串列表

c++ - 我怎样才能得到一个数组的大小,所以我可以从一个函数声明所述数组

Maven 快照存储库与发布存储库

Android Soundpool.play() 在发布版本中不起作用