win7 下,安装的VS2010,然后搭配opencv2.4.3运行,报错为:fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突 。通过网上查询,给错的答案大同小异,但是依然有很多朋友按照网上的答案无法解决这个问题,以下是我的解决方案

(曾参考 http://blog.csdn.net/qtbmp/article/details/7273191?reload ),仅供参考:

1、原因:win7下的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)、接着,右键项目名称点清理,重新生成, 注意配置管理器里面选择x64平台 ,不然编译出来的还是不能使用。

(3)、编译完成之后,配置DLL和Lib的路径后,就不会再出以上的错误了。

win7 下,安装的VS2010,然后搭配opencv2.4.3运行,报错为:fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突 。通过网上查询,给错的答案大同小异,但是依然有很多朋友按照网上的答案无法解决这个问题,以下是我的解决方案(曾参考http://blog.csdn.net/qtbmp/article/details/7273191?r
最近使用 VS 2013遇到了一个问题,在切换64和Win32平台时经常遇到,网上也有很多解决办法,如: https://blog.csdn.net/u014805066/article/details/78143091 https://blog.csdn.net/xue_hit/article/details/70314101 但都不奏效,可能我和他们的问题都不一样吧。 我的解决方式为:
解决安装 vs 2012后 vs 2010 LINK : fatal error LNK1123: failure during conversion to COFF Wrong version: 03/18/ 2010 01:16 PM 31,048 cvtres.exe Correct version: 02/21/2011 06:03 PM 31,056 cvtres.exe
在Visual Studio 2019,引用 opencv 2 模块 时,报 fatal error LNK1112 : 模块 计算机 类型 X64 ”与 目标 计算机 类型 x86 冲突 错误: 解决方案 如下: 1.选择项目-》项目属性-》点击最上面的 “配置管理器” 选择 活动( X64 ) 2.在属性页选择 ‘链接器’-》高级-》,把 目标 计算机 改为 ‘Machine X64 (/MACHINE: X64 )‘,应...
其他版本同样适用 模块 计算机 类型 :并不能简单的理解为本机的操作系统位数,而是当前程序的当前平台环境,由你配置的Visual Studio的环境决定,比如给 VS 配置的是Qt环境,那么你下载安装64位Qt MSVC,然后给 VS 引入的Qt版本也是这个版本的话,那么 模块 计算机 类型 就是 x64 目标 计算机 类型 :就是当前你程序所需要的平台环境的位数,多数出现在编译别人程序或者引用第三方动态库时候出现此问题。然后 目标 计算 类型 x86 的话以为
在64位机器上编译 VS 工程出现这个问题,按如下步骤逐个排除:(这里以 VS 2008为例子)排查步骤一:系统是否已经安装 VS X64 编译能力在控制面板中找到 VS 2008,选择卸载或更改,如下: 勾选 X64 编译器和工具,然后点击更新: 安装完后进入下面的步骤。排查步骤二: VS 本身的包含路径是否正确设置为64位依次进入“工具”->“选项”->“项目和 解决方案 ”->“VC++目录”,在平台这里选择 X64
fatal error lnk1104: 无法打开文件"libc.lib" 是指在编译或链接时,编译器或连接器无法找到"libc.lib" 这个文件。 这个错误通常是由于以下几个原因引起的: 1. 文件不存在:编译器或连接器无法找到指定的"libc.lib" 文件。这可能是因为文件被误删除或移动到其他位置,或者您没有安装相应的库文件。 解决方法:确保"libc.lib" 文件存在于正确的位置,或者重新安装相应的库文件。 2. 路径错误:编译器或连接器无法找到"libc.lib" 文件的路径。编译器或连接器会按照默认路径进行查找,如果文件不在默认路径中,就会出现这个错误。 解决方法:检查文件的路径是否设置正确,并确保编译器或连接器能够找到该文件。可以使用编译器或连接器的选项设置路径。 3. 权限问题:编译器或连接器没有足够的权限读取或写入"libc.lib" 文件。 解决方法:以管理员身份运行编译器或连接器,或修改文件的权限,使其可被编译器或连接器访问。 总之,如果遇到" fatal error lnk1104: 无法打开文件"libc.lib"" 的错误提示,需要首先检查该文件是否存在、路径是否正确并且是否具有足够的权限。如果仍然无法解决问题,可以尝试重新安装相应的库文件或寻求专业人士的帮助。 ### 回答2: fatal error lnk1104: 无法打开文件“libc.lib” 是一个常见的错误信息,它意味着在链接过程中无法找到所需的 "libc.lib" 库文件。 这个错误通常是由于以下几个原因引起的: 1. 文件路径错误:编译器在链接过程中需要找到 "libc.lib" 文件,但是由于文件路径设置有误,编译器无法定位到文件。解决方法是检查文件路径设置是否正确,并确保文件存在于指定路径下。 2. 缺少库文件:在某些情况下,你可能没有安装所需的 "libc.lib" 库文件。解决方法是根据你正在使用的编译器和开发工具集,安装相应的库文件。 3. 冲突 的库文件:如果你的项目同时引用了多个库文件,并且其中一个库文件与 "libc.lib" 冲突 ,就可能出现该错误。解决方法是检查项目的库文件依赖关系,并确保没有 冲突 。 4. 编译器设置错误:在某些情况下,编译器设置可能会导致链接错误。解决方法是检查编译器设置,确保正确配置。 总结来说,解决 " fatal error lnk1104: 无法打开文件“libc.lib”" 的方法通常是检查文件路径设置、安装所需的库文件、处理 冲突 的库文件以及检查编译器设置。