从Visual Studio文件夹运行.exe文件会自动关闭窗口 我在VisualStudio中用SDL和C++创建了一个游戏。这个游戏是为我的大学(计算机科学)制作的

从Visual Studio文件夹运行.exe文件会自动关闭窗口 我在VisualStudio中用SDL和C++创建了一个游戏。这个游戏是为我的大学(计算机科学)制作的,c++,visual-studio,visual-studio-2012,C++,Visual Studio,Visual Studio 2012,当我从VisualStudio运行它时,一切都运行得非常完美。当我转到项目的文件夹并通过.exe文件运行它时,它会弹出,然后立即关闭。我在系统中的属性已经在Windows应用程序、多线程dll中 我不明白-它应该可以正常工作,因为我可以在解决方案资源管理器中运行它,而不会出现任何警告/错误。有什么建议吗?从资源管理器启动exe时,当前目录会更改。您的程序很可能找不到依赖项,DLL或图形和声音等资源。一个短期解决方案是确保您的文件位于正确的位置。从长远来看,您的程序中应该有更好的错误处理能力,这样

当我从VisualStudio运行它时,一切都运行得非常完美。当我转到项目的文件夹并通过.exe文件运行它时,它会弹出,然后立即关闭。我在系统中的属性已经在Windows应用程序、多线程dll中


我不明白-它应该可以正常工作,因为我可以在解决方案资源管理器中运行它,而不会出现任何警告/错误。有什么建议吗?

从资源管理器启动exe时,当前目录会更改。您的程序很可能找不到依赖项,DLL或图形和声音等资源。一个短期解决方案是确保您的文件位于正确的位置。从长远来看,您的程序中应该有更好的错误处理能力,这样您就可以得到一条可以处理的错误消息。

您的程序是否依赖于任何DLL文件(您使用的是SDL,所以它应该如此)。相对于您的
.exe
,它们位于何处?@grgarside您正在进行超高质量的编辑,非常感谢!dll文件与.exe文件位于同一文件夹中。如果不是,我会从解决方案资源管理器中发现dll文件丢失的错误。除此之外,我在文件夹的游戏中有许多.png图像和字体,但它们与.exe文件不在同一目录中。我现在会检查一下,也许这就是问题所在,w8等一下。哈哈哈哈哈哈哈,我笑得屁滚尿流。你的评论很有趣:)我做了,而且成功了,但为什么会发生这种情况?我的意思是图像应该在同一个文件夹中?如果这就是为什么解决方案浏览器能够完美运行应用程序的原因?它现在可以工作了..我复制了.exe文件夹中的所有图像,它工作了。我有错误检查,但仅在解决方案资源管理器中。例如,如果我有一个图像,但没有初始化,我的应用程序将返回1,如果是声音2,依此类推。有更好的方法吗?@kostastrimis显然你目前的错误报告是不够的,或者这篇文章不存在。错误报告是针对您的,而不是针对其他任何人的,所以当程序失败时,您希望程序做什么?就我个人而言,我希望有一个消息框显示“找不到image C:\foo\bar.jpg”。这是非常清楚的。开发的另一个好做法是使用日志,它清楚地说明了程序正在加载什么,以便在程序失败时进行检查