今天在运行一个Opengl项目时总是一直报“0xc000007b无法正常启动”的错误,于是百度了一些解决方案,当然这些解决方案是针对不同错误原因提出来的,所以如果读者也遇到同样的错误可以一一尝试,或者首先分析原因再选择解决方案。现将这个问题总结如下:

一、错误可能产生原因

  1. DirectX 9.0损坏,这种一般是由于系统原因引起的,但是对于开发来说基本上不会是这个原因,如果是执行某些游戏或者图像处理软件就非常有可能是此原因引起的,不过一般在高版本系统中不会出现这个问题。
  2. 可能是部分系统文件受损或者丢失,一般是由于杀毒软件误删等原因。
  3. 程序执行所需要的dll文件出现了问题,可能是缺少或者32位和64位使用不合适。

二、对应解决方案

  1. 针对第一种原因可以采用安装DirectX或者修复DirectX 的方式,只需下载一个DirectX 修复工具即可,整个过程都是全自动的,非常方便。下载地址:
  2. 针对第二种原因可以以管理员身份运行系统命令窗口,然后执行命令sfc /SCANNOW,这个命令可以对所有的系统文件进行扫描,并将丢失或者损坏的文件进行修复即可,这个过程用时较长,需要耐心等待。
  3. 针对第三种原因可以借助一款软件(Depends.exe)进行分析,只需将需要执行的.exe文件拖入程序主界面就可以看到此程序链接的所有dll文件,当某个文件出现问题会被标红,然后就可以在系统中检查是否存在问题dll文件,如果不存在就下载一个放入系统中,如果存在那一定是32位和64位dll的问题,可以删除掉重新将对应版本的文件放入C:\Windows\system系统文件夹中或者C:\Windows\SysWOW64中。当然对应开发的项目来说也要看你创建的是32位系统还是64位的,注意系统版本一定要和dll版本一致才可以。

三、方案图

1.方案二中的执行截图:

                     

无法启动windowsmediaplayernetworksharingservice 无法启动0xc000007b怎么解决_系统文件

   2.方案三中的执行截图:             

无法启动windowsmediaplayernetworksharingservice 无法启动0xc000007b怎么解决_DirectX_02

-------------------------------------------------------------------------

若读者还见过其他原因或者解决方案,欢迎补充。