2013-12-22 29 views
0

因此我在VS 2013上配置了一个解决方案。我将OpenGL,GLEW和GLFW3链接起来。 当我点击ctrl + f5构建/运行发布版本时,它没有错误,程序在构建后正确运行。程序在编译后运行,但不是从Release/program.exe执行时

但是,之后当我尝试使用在Release文件夹内创建的.exe文件手动执行程序时,它崩溃了。

任何人都有什么线索可以解决问题?

+1

检查根项目(或解决方案)文件夹。有没有需要的DLL?或者你的程序在那里加载了任何着色器? OMG! – chbaker0

回答

2

将您的DLL +发布文件夹内的媒体(下箱)

+0

OMG!很明显,但我看不到。那就是诀窍。谢谢你和所有其他的回应。 –

1

该exe文件是否具有Release文件夹中所需的所有文件?从VS运行时使用的工作目录和双击exe时使用的工作目录可能不同。

1

MSVC内置的调试配置,当你不是.exe文件的实际位置开始你的软件使用不同的工作目录。

通常会将其配置为使用项目的基本目录。如果在运行时将与工作目录相关的DLL和其他资源安装在该目录中,那么这就是为什么它可以在调试器中正常运行,但不能在工作目录为“Release”时启动它。

通常作为构建过程的最后一步,将精心设计的项目配置为将.exe移动/复制到比“发布”部署更合理的位置。