2013-04-09 59 views
1

当项目运行我的Visual Studio C++通过VS2010应用程序的调试版本只> PROJECTNAME生成的exe运行良好。然而,当我生成一个发布版本,并转到创建EXE我得到以下错误的文件夹:调试版运行,但版本提供0xc000007b - 缺少dll?

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

该文件的文件夹中只有我,而项目使用各种Boost库的exe文件。 难道它给人因为缺少升压的DLL的此消息?有没有办法让编译器粘贴exe文件夹中的所有必需的dll。

有什么办法来启动从VS2010的发布版本就像我们的调试版本在调试>>启动新实例

回答

1

我讨厌当这种情况发生。这可能是因为它错过了bloost DLL:解决这个问题的最简单方法是将该文件夹添加到Path环境变量中。可悲的是,我们没有足够的信息来确认这是问题所在。常见的其他问题包括:你链接到这是一组不同的架构/使用不同的运行时库,你缺少其他第三方的dll,该.LIB您在连接使用的文件库指向不同版本的代码比你指向的DLL ...列表继续。

抄本在运行时动态链接库,你可以使用自定义生成事件做到这一点[http://msdn.microsoft.com/en-us/library/e85wte0k%28v=vs.80%29.aspx] 。只要写一个批处理脚本,复制的DLL作为“后生成事件”,你应该是好去,但我首先建议的路径方式。

+1

反正是有检查哪些DLL文件由一个exe要求? – MistyD 2013-04-09 17:46:45

+1

@MistyD - 用于depends.exe – user93353 2013-04-09 17:47:56

+0

@MistyD,[Depends中(http://www.dependencywalker.com/)是一个很好的工具。 – IdeaHat 2013-04-09 17:48:13