您的位置:首页 > 其它

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

2016-03-11 13:25 357 查看
昨天编译就报错:

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抽风导致的,毕竟比较了下解决这个问题需要花费大量的时间与几乎没啥收益的回报,我还是选择花半天时间重装系统划算。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: