先说方法:
把VS自带的库目录全部删除,然后加上:$(LibraryPath)
网上查了很多方法,对我都没有用。后来自己找到解决办法了,这里分享给大家。
我想编译64位的程序,于是选择了debug + x64的编译环境。
我报的错误是:msvcprtd.lib(MSVCP110D.dll) : fatal error LNK1112:模块计算机类型“X86”与目标计算机类型“X64”冲突。
首先,产生这个问题的原因是因为静态库(.lib)文件的位数和我们选择的目标位数不一样,我们需要使用正确类型的静态库才行。
打开属性页面会看到,在库目录中,除了我们自己编辑的目录外,还有VS自带的目录。比如:$(WindowsSDK_LibraryPath_x86);
网上说把x86改成x64就可以了,但是我失败了。
最终解决方法是
把VS自带的库目录全部删除,然后新增这一项:$(LibraryPath)
这样就可以了。
其实我还尝试过另外的方法,就是把报错的那些静态库文件记下来,然后在计算机里找到64位的对应的库文件,然后单独放到一个文件夹,加入属性页的库目录,但是要放在第一项。这样不会报错,但是后续的操作中却出现了一些很奇怪的错误,比如报了:
错误 C1189 #error: The C++ Standard Library forbids macroizing keywords. Enable warning C4005 to find the forbidden macro.
然后还有一些恶心的无法识别的外部符号的错误。最后找到了那个配置方法才解决的。
这个方法不一定都适用,但不妨一试。
PS:VS环境配置真恶心。本以为用VS快一年,总不会在环境上栽那么多跟头了,结果一直在环境上面和VS斗智斗勇,心累...
先说方法:把VS自带的库目录全部删除,然后加上:$(LibraryPath)网上查了很多方法,对我都没有用。后来自己找到解决办法了,这里分享给大家。我想编译64位的程序,于是选择了debug + x64的编译环境。我报的错误是:msvcprtd.lib(MSVCP110D.dll) : fatal error LNK1112:模块计算机类型“X86”与目标计算机类型“X64”冲突。...
模块
计算机
类型
x64
与
目标
计算机
类型
X86
冲突
最近在编译一款开源软件的时候,遇到了“
模块
计算机
类型
“
x64
”与
目标
计算机
类型
“
X86
”
冲突
的问题,网上查了好多资料,都是配置“链接器-》高级-》
目标
计算机
”和选择
X64
平台编译器,可是怎么试都不行,最后发现是“命令行”里依然是“
X86
”的问题,下面给出详细的
解决
步骤:
“生成-》配置管理器-》活动
解决
方案平台”设置为"
X64
",如果没有就新建。
1、“链接器-》高级-》
目标
计算机
”设置为"Machine
X64
(/MACHINE:
X64
...
win10下,vs2013&opencv2.4.13调试项目,debug win32平台下正常运行,debug
x64
下报错:
error LNK1112:
模块
计算机
类型
“
X86
”与
目标
计算机
类型
“
x64
”
冲突
。
其他项目win32和
x64
下调试都能正常运行,说明系统已经安装VS下
X64
编译能力,于是检查项目属性发现原因如下:
在使用优化库的过程中,因为要配置优化库所以需要链接库,但是配置完成后一直显示
计算机
类型
“
X86
”与
目标
计算机
类型
“
X64
”
冲突
的问题,搜集了很多
解决
办法最后终于找到问题了,所以总结一下避免后面的人踩坑。
首先,讲一下我自己的原因。主要是因为选择错了目录的
类型
了。
如图所示,我把
X64
的不知道怎么了,电脑默认成
X86
了,所以一直没有找到问题,改一下这个地方就行了。还有上面的配置平台也不能选错了。
X86
对应的咱们说的Win32位的平台。
X64
对应咱们的
X64
平台。
下面介绍一下网上比较好的
解决
办法:
在VS2013+Boost编程时,经常遇到"
模块
计算机
类型
X86
与
目标
计算机
类型
X64
冲突
"的问题,出现该原因是当前工程是
x86
类型
即32位,而自己要生成的exe或dll是64位,位数不匹配,所以报错。
解决
方法
:将工程
类型
的位数与自己引用的dll或lib位数保持一致。
作者:hglijiahao
本程序只支持24位真彩色bmp图片转8位256色带调色板的bmp图
bmp文件结构参考https://www.cnblogs.com/kingmoon/archive/2011/04/18/2020097.html
思路:修改位图起始偏移量、图像色深,创建调色板,便利位图数据,将RGB转化为灰度
值并转化为灰度的调色板索引值(8位色深调色板有2
你提到了一个常见的错误,这个错误出现的原因是因为
模块
中的
计算机
类型
与
目标
计算机
类型
不兼容。具体来说,
X64
是指64位
计算机
,而
X86
则是指32位
计算机
。当你在使用64位
模块
时,如果你的
目标
计算机
是32位的,那么就会出现这个错误。
要
解决
这个问题,你需要确认你的
模块
和
目标
计算机
的
计算机
类型
是否一致。如果不一致,你需要下载相应版本的
模块
或者更换
目标
计算机
。