win8系统安装vs2010配置opencv2.4.9以及模块计算机类型“x64”与目标计算机类型“X86”冲突问题解决

视频:http://v.youku.com/v_show/id_XNTU4NTM2MDAw.html
首先是下载opencv,我下载了opencv2.4.9,。下载好后就双击exe安装。
然后配置环境变量。“计算机”右击->“属性”->"高级系统设置"->"环境变量..."->用户变量中path变量的值多增加一项“D:\opencv\opencv\build\x86\vc10\bin;”即可。x86和vc10是根据你安装的系统以及VS版本选择的,你也可以都加进去。
接下来就是打开vs2010,新建一个win32控制台程序(随便叫什么,这个工程主要是拿来设置的),通过“项目”->“属性”->VC++目录
在弹出来的属性页中,找到“VC++目录”,然后看到右边的“包含目录”,点它的下拉框箭头,出现“编辑”,再点它。将下面的路径添加进去
D:\opencv\opencv\build\include
D:\opencv\opencv\build\include\opencv
D:\opencv\opencv\build\include\opencv2
(opencv的版本不同,这个地方添加的东西不同。年少时我用vc6.0弄过opencv....)
设置完后,再找到“库目录”,一样的点击模式,将“D:\opencv\opencv\build\x86\vc10\lib”添加进去。
在左边再找找“链接器”下的“输入”,找到它右边的“附加依赖项”,一样的点击模式,将下面的lib添加进去
opencv_core249d.lib
opencv_imgproc249d.lib
opencv_highgui249d.lib
opencv_ml249d.lib
opencv_video249d.lib
opencv_features2d249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_legacy249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
(这个地方添加的东西,是因项目而异的,我是看到教程里面这样写,就这样写的。没有测试过谁可以不要)
基本上这样够搞定了。
测试代码:
//
#include <iostream>
#include <string>
#include <opencv2\opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
Mat img = imread("pp.jpg");
if (img.empty())
{
cout << "error";
return -1;
}
imshow("pp的靓照", img);
waitKey();
return 0;
}
以上如果出现错误:模块计算机类型“x64”与目标计算机类型“X86”冲突
win8 下,安装的VS2010,然后搭配opencv2.4.9运行,报错为:fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突 。通过网上查询,给错的答案大同小异,但是依然有很多朋友按照网上的答案无法解决这个问题,以下是我的解决方案
(曾参考http://blog.csdn.net/qtbmp/article/details/7273191?reload),仅供参考:
1、原因:win8下的64位系统,在运行程序的时候,需要的DLL必须是64位系统编译的,VS2008也必须在安装的时候,选择了64位编译的支持。如果安装的时候,已经选择了,那么出现该问题的解决办法,安装网上常规的思路即可。既:
       (1)右键项目名,点击属性,弹出项目属性页,找到链接器----高级,修改右侧的目标计算机,选择有X64的那个选项。
        (2)右键项目名,选择清理解决方案,清理完之后选择X64平台编译器,然后重新生成解决方案,便可以调试成功。
注:按照网上搜到的方法执行完以上步骤后,我的程序仍然报错,只是X86和X64的位置换了一下。。汗死。。于是折腾出一下步骤:
2、如果此时问题依然没有解决,则可能是系统包含的DLL文件是win32下编译的,则,需要把DLL换成64位系统编译的。比如opencv2.3.1,之前编译的就是win32下编译的,则需要重新编译,具体步骤如下:
      (1)、右键解决方案->属性,将平台选为X64,若无此选项,则点击配置管理器,选择X64平台,若无则新建一个X64平台并选中。

       (2)、接着,打开OpenCV.sln,右键清理,重新生成,注意配置管理器里面选择x64平台,不然编译出来的还是不能使用。   
         (3)、编译完成之后,配置DLL和Lib的路径后,就不会再出以上的错误了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值