VS2005上一个坑:关于pch 的 error C1023

昨天编译就报错:
c1xx : fatal error C1023: ‘UnicodeDebug\ImEngine.pch’ : unexpected error with pch, try rebuilding the pch
———————————————————————–
查了半天应该是ASLR的问题,


(Visual Studio 2012: Configuration Properties -> Linker -> Advanced -> “Randomized Base Address”)
我是VS2005,该VS还不支持ASLR,所以尝试关闭操作系统的ASLR;
查看注册表HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\MoveImages
若没有改注册表项就自己创建一个设置DWORD值为0。

———————————————————————————
移动映像文件,ASLR 相当于在地址空间中从默认位置移动映像文件到一个随机位置。所以叫 moveimage
pch 可能硬编码了映像文件基址
———————————————————————————-
ASLR :address space layout randomization

 

 

———————–
对于项目下多个工程的情况,需要依工程间依赖关系逐个重编译一遍,然后再对整个项目编译。这样每次要重编译整个项目的时候都需要逐个工程重编译一次,在编译项目,十分繁琐。所以我选择重装系统来解决这个问题。
可能是WIN7和VS2005哪儿更新导致2005抽风导致的,毕竟比较了下解决这个问题需要花费大量的时间与几乎没啥收益的回报,我还是选择花半天时间重装系统划算。

转载于:https://www.cnblogs.com/liuhan333/p/5265292.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值