您的位置:首页 > 理论基础

OpenCV2.4.9+VS2013环境配置及“fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突”的解决

2017-07-03 23:16 447 查看
本人电脑系统WIN10 64位

OpenCV249,加VS2013环境变量的配置:

普通的配置在各种书上和博客上可以找到很多,但为避免每次新建工程都去重新配置,这里要强调的是在初次使用时,就要用“属性管理器”进行配置。VS2013的属性管理器在“视图-其他窗口”中。找到之后按照常规的配置方式添加相应的路径就可以了。

按上述方法配置完成后,写了一段图片显示的小程序,居然报错:

fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突。

为解决这个问题,搜索了很多帖子,基本大家给出的解决方案如下:

1:项目解决方案——属性——连接器——高级——目标计算机,看目标计算机是否是MachineX64,不是的话更改为。

2:配置管理器——新建(有的话直接选择)x64

按上面两种方式操作后仍然无法运行,于是最终确定到了下面的方法:

3:属性管理器中,修改DebugX64位下面的属性表,将我们的库目录的路径更改一下,
将原来的 C:\opencv\build\x86\vc11\lib 改为 C:\opencv\build\x64\vc11\lib,这样基本就没问题。Relaese方面一样。

当然,这里如果前面将目标计算机类型设置为32位,就应该在相应的位置将库目录路径改为相应的32位库的路径。这样设置下来,应该不会有问题。

如果还是有问题,可以参考下面方法:

此时可以断定是系统包含的DLL文件是win32下编译的,则,需要把DLL换成64位系统编译的。比如opencv2.3.1,之前编译的就是win32下编译的,则需要重新编译,具体步骤如下:

      (1)、运行CMake2.8,点 configure,在弹出的对话框内选择 Visual Studio 9 2008 win64,这个地方需要注意,很多资料上面在介绍OpenCV配置的时候,都没有提及64位的选项问题,大家都是默认选择
Visual Studio 9 2008,没有选后面带win64的,导致make出来的文件没法使用。完成后选择“Generate”。   

       (2)、这时候,打开opencv.sln,分别在Debug和Release下生成,注意配置管理器里面选择x64平台,不然编译出来的还是不能使用。   

         (3)、编译完成之后,配置后DLL和Lib的路径,就不会再出以上的错误了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐