本文参考过其他一些文章:

http://www.cnblogs.com/csuftzzk/p/windows_launch_error_0xc000007b.html

这个问题在网上一查一大堆,主要的原因就是库文件版本的问题,比如说x64的程序引用了x86的库;网上提出了一些方法,比如说:

1)安装DirectX9修复软件;百度百科的介绍:"主要功能是检测当前系统的DirectX状态,如果发现异常则进行修复。程序主要针对0xc000007b问题设计,且包含了最新版的DirectX redist(Jun2010),并且全部DX文件都有Microsoft的数字签名。其中的标准版以及增强版都包含完整的DirectX组件。除此之外,增强版中还额外包含了c++ Redistributable Package,因此增强版不但能解决DirectX组件的问题,而且还能解决c++组件异常产生的问题。增强版适合无法自行解决c++相关问题的用户使用。在线修复版的功能与标准版相同,只是其所需的文件将通过Internet下载,因此大大减小了程序的体积。本程序的各个版本之间,主程序完全相同,只是配套使用的数据包不同。因此,当您使用标准版数据包时,程序将进行标准修复;当您使用增强版的数据包时,程序将进行增强修复;当数据包不全或没有数据包(即只有DirectX Repair.exe程序)时,程序将进行在线修复。在线修复、离线修复可自由灵活组合,充分满足不同用户的需要。"

2)下载某些库(......),放到System32目录或者SysWOW64下面;

对于我的问题,

问题(1)VS2015创建的C++控制台应用程序无法运行(在x86 debug,/MDd模式下无法运行):

于是我设置工程->属性->C/C++->代码生成->运行库->/MTd;程序就能正常运行了!查了一下:http://blog.csdn.net/zhangla1220/article/details/50033541,发现这个问题还是和库是有关的:多线程调试Dll (/MDd) 对应的是MD_DynamicDebug,多线程(/MTd)对应的是MD_StaticDebug 一个是动态链接,一个是静态链接;选择动态链接库时,出现0xc000007b问题,说明还是dll的版本问题,但是具体是哪个dll有问题呢?

这个时候,我们要用到一个软件,叫做Depends Walker;这个软件可以检测一个应用程序使用了哪些动态链接库!对于一个刚刚的这个工程:

#include <iostream>
using namespace std;
int main()
{

cout << "-------------" << endl;
getchar();
return 0;
}

在我另一台电脑的VS2015软件上选择MDd运行库,debug、x86,程序能正常运行,将debug目录下生成的*.exe文件拖到Depends Walker软件上,分析结果如下:

但是,在不能正常运行的平台下运行生成的exe文件经过depends分析,得到的是下面的结果:

所以,需要做的就是,将这些x64的库文件删除,替换成x86的版本就可以运行了!

问题(2)opencv程序中出现0xc000007b问题(其他不使用OpenCV库的简单c++控制台工程不出现0xc000007b问题的情况):

这个问题我解决的办法是修改环境变量:

一般来说:安装完opencv后会配置环境变量,配置如下两个目录:

D:\opencv_2_4_11\opencv\build\x86\vc12\bin

D:\opencv_2_4_11\opencv\build\x64\vc12\bin

这两个目录下的库文件名是一样的,因此同时配置很可能出现0xc000007b问题;比如说将x86目录配置在x64目录之前,建立的工程选择x64的解决方案平台:

这样就会出现这个问题,因为会先在x86的目录下找到dll文件。解决方法是将相应的目录提前或者删除另一个目录

关于VS下的应用程序出现0xc000007b的问题以及OpenCV相关的0xc000007b问题的更多相关文章

  1. VB.net 2010下关联与程序图标设置

    '*************************************************************************'**模 块 名:VB.net 2010下关联与程序 ...

  2. 在linux命令行下执行php 程序

    如何在linux命令行下,执行php程序. 例子 打印当前时间 php -r "echo time()" 随机输出一个数字 php -r "echo rand(1,20) ...

  3. 使用Code::blocks在windows下写网络程序

    使用Code::blocks在windows下写网络程序 作者 He YiJun – storysnail<at>gmail.com 团队 ls 版权 转载请保留本声明! 本文档包含的原创 ...

  4. linux 下恢复后台程序的方法

    一直以为这个东西不怎么重要,所以一直没怎么去记,已经第三次百度了,不想再有第四次. 如果你在终端下运行一个程序,如果这个程序正在运行,我们可以用 ctrl + z 的命令将这个程序挂到后台. desk ...

  5. jmeter测试本地myeclips调试状态下的tomcat程序死锁

    在myeclipse调试状态下的tomcat程序,用jmeter测试,居然发生死锁,调试两天无果,直接运行tomcat而不通过myeclipse,无死锁,真是又好气又好笑..

  6. Windows下,通过程序设置全屏抗锯齿(多重采样)的方法

    这里说的全屏抗锯齿,不是基于着色器的FXAA之类的方式,而是兼容性更好的,基于固定管线的多重采样方式. 先来说一下开发环境,我用的是VC2013+GLEW1.11. 要通过程序设置多重采样,首先需要进 ...

  7. JAVA设置环境变量和在DOS下运行java程序

    在学校实训的这几天,老师带着我们开始深入的复习java.这是第一天的内容哦 对于“JAVA设置环境变量和在DOS下运行java程序”,许多初学者是陌生的,但了解这个却对后期的学习很重要. http:/ ...

  8. 闲来瞎扯 -- 在vs2008下编写linux程序

    虽说vim很强大,但是个人感觉器代码提示功能不如visual assist来的强大.如何使用visual assist来实现代码的提示功能呢? 首先说明我的环境 : 宿主机是xp(O(∩_∩)O~还是 ...

  9. Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法

    Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法 最近由于老师要求要在Ubuntu下QT上进程多线程服务器的开发,虽然只是单纯的调用qt的network模块,但是为了避免麻烦,我 ...

随机推荐

  1. TypeSc­ript & Angular

    TypeSc­ript https://github.com/Microsoft/TypeScript https://www.typescriptlang.org/ https://www.type ...

  2. Guns V2.5

    Guns V2.5 新版Guns基于SpringBoot全面升级,完美整合springmvc + shiro + MyBatis 通用 Mapper + 分页插件 PageHelper + beetl ...

  3. transition transform animate的使用

    注:代码显示效果可以自行粘贴复制查看 transition(过渡),主要是关注property的变化主要有四个属性transition-property.transition-durantion.tr ...

  4. UVA 10910 Marks Distribution

    题意 把数字T分成N个数的和,保证这N个数中最小的数大于P.求方案数目 另f[i][j]表示把i分成j个数的和的方案数 f[i][j]=f[i][j-1]+f[i-1][j-1]+f[i-2][j-1 ...

  5. c++ poco StreamSocket tcpclient测试用例

    1.代码 #include <iostream> #include "Poco/Net/Socket.h" #include "Poco/Net/Stream ...

  6. poj 2002(好题 链式hash+已知正方形两点求另外两点)

    Squares Time Limit: 3500MS   Memory Limit: 65536K Total Submissions: 18493   Accepted: 7124 Descript ...

  7. 配置OpenResty支持SSL(不受信任的证书)

    #关闭防火墙 chkconfig iptables off service iptables stop #关闭SELINUX sed -i 's/SELINUX=enforcing/SELINUX=d ...

  8. C#中使用aria2c进行下载并显示进度条

    正则表达式的生成网站: http://www.txt2re.com/index-csharp.php3 Aria2c下载地址: https://github.com/aria2/aria2/relea ...

  9. MSSQL横列转纵列

    上篇我们说到了纵列转横列,这篇讲下横列转纵列,具体代码: 1.建表 CREATE TABLE [dbo].[EndLongChangeAcross]( ,) NOT NULL, ) NOT NULL, ...

  10. 打印控件Lodop的使用

    前些天发现一个不错的打印的控件Lodop,下面就来介绍一下具体使用! 首先到官网:http://www.lodop.net/download.html 下载最新版,文档的话官网中有很详细的介绍,这里演 ...