模块计算机类型“X64”与目标计算机类型“X86”冲突问题的几点补充

本文为为转载,原博客地址:https://blog.csdn.net/ac273317472/article/details/51391951
参考博客:
https://blog.csdn.net/xuwg/article/details/74920915
https://blog.csdn.net/wjc133/article/details/52934002

小弟近来实验室项目需要在调用OpenCV的函数,编译出现了如下问题:模块计算机类型“X64”与目标计算机类型“X86”冲突。


上网查找了许多博客网站,多数转载以下这篇博客和百度经验。
以上链接给出了解决方案,但小弟实在困惑,因为先前在其他笔记本电脑也如法配置过OpenCV,不应该出现这样的问题,因此自己捣鼓了一下,针对此问题补充以下几点说明:( 主要是自己的理解,可能不对也请网友们批评指正
1.模块计算机类型,指VS中附加的链接库函数类型,即lib或dll分为64位和32位之分,目标计算机类型,此处指的是编译的平台,即X64或者Win32编译平台。



2. 当在Win32平台编译时,不管操作系统和VS编译环境是32或64位时,库目录均应是D:\opencv2410\build\x86\vc10\lib,否则会报错。小弟因为先前贪图省事,在库目录将X86和X64的都包含,如下图所示,由于X64在上面,编译时率先被包含,就会报错。





因此必须将X64那个lib路径下移,最好还是将X64的lib路径删除为好,如下图:






这样编译就没有问题。同理 当在X64平台编译时,不管操作系统和VS编译环境是32或64位时,库目录均应是D:\opencv2410\build\x64\vc10\lib。
3.本问题虽然是配置OpenCV时遇到的,但是同理只要有VS有其他附加库的时候都应该注意此问题。

猜你喜欢

转载自blog.csdn.net/wgx571859177/article/details/80392245
今日推荐