运行 VS2013 Express 项目可执行文件时出错

Posted

技术标签:

【中文标题】运行 VS2013 Express 项目可执行文件时出错【英文标题】:Error running VS2013 Express project executable file 【发布时间】:2015-07-26 13:13:07 【问题描述】:

我正在尝试运行一个 VS2013 Express 可执行文件,该文件是在构建我的项目时创建的,位于该项目的 Debug 目录中。

尝试运行 .exe 文件时会显示此消息:

"This application failed to start because D3DCompiler_47.dll was not found. Re-installing the application may fix this problem."

所以我下载了 dll 并将其与 .exe 文件一起粘贴到 Debug 文件夹中。当我尝试运行时,它给了我:

The application was unable to start correctly 0xc00007b

我已经搜索了解决方案,但有很多方法需要我从阴暗的网站下载文件。

有什么建议吗?谢谢!

【问题讨论】:

【参考方案1】:

这看起来像DirectX 相关的问题,正如MSDN link 中所讨论的那样。

根据您的 Windows 版本,DirectX DLLs 以不同的方式安装。确保DirectX 安装工作正常并使用正确的CPU 类型的DLL(32 位与64 位)。

【讨论】:

感谢您的链接。我执行了步骤 5a-5e 和 6a-6c,因为它们似乎与我的问题最相关。现在,我的解决方案文件夹中出现了一个 x64 目录,其中包含 Debug 和 Relase 的子文件夹,其中每个文件夹都有一个可执行文件。我不再收到错误消息,但现在应用程序窗口打开并立即关闭。现在我的 hlsl 文件无法编译,并显示找不到给定入口点的消息。我总是在同一个文件中拥有一个效果中的所有着色器。这是否意味着我必须将它们分开?现在它还抱怨根本没有意义的语义:( 对不起,我只能在这里猜测。您是否尝试过清理和重建项目/解决方案?甚至可能有必要(或者比手动修复更容易)重新创建整个解决方案。 我设法通过重新创建项目使可执行文件正常工作。然而,这一次我创建了一个 Win32 控制台应用程序,而不是像以前那样创建一个空项目。【参考方案2】:

您运行的是哪个版本的 Windows?

D3DCompiler_47.dll 内置于 Window 8.1 和 Windows 10 操作系统中。您还可以在C:\Program Files (x86)\Windows Kits\8.1\Redist\D3D 下的 Windows 8.1 SDK 中找到用于 Windows Vista、Windows 7 和 Windows 8.0 的副本。

见HLSL, FXC, and D3DCompile

【讨论】:

到今天为止,我已经是 Windows 10 的拥有者了。我只需创建一个新项目并将代码粘贴到该项目中,就可以让可执行文件正常工作。然而,这一次我创建了一个 Win32 控制台应用程序,而不是像以前那样创建一个空项目。

以上是关于运行 VS2013 Express 项目可执行文件时出错的主要内容,如果未能解决你的问题,请参考以下文章

静态库链接、c++、VS Express 2013

错误:“项目不知道如何运行配置文件 IIS Express”(VS 2019、16.11.7)

新安装的vs2013运行时出现找不到.dll文件。

VS2013 VS2015 VS2017调试出现无法启动iis express web服务器

VS提示“无法启动IIS Express Web服务器”的解决方法

将 C++ ATL 可执行应用程序从 VS2003 迁移到 VS2013