fatal error C1900: Il mismatch between 'P1' version '20080116' and 'P2' version '20070207'

编译器遇到fatal error C1900: “P1”(第“20150812”版)和“P2”(第“20130802”版)之间 Il…….的错误

发生情况描述:
操作系统:win7 旗舰版 64bit
编译环境:vs2008
错误发生描述:
今天需要调用开源crypto++库,然后网上下载下来,自己进行编译,解压开源库的代码,然后用VS2008直接打开.sln文件,提示版本太低,这时我就用了一个高版本的vs2015 进行编译,生成了lib文件,这时在调用的项目中增加该生产的lib文件,这时提示该信息(fatal error C1900: “P1”(第“20150812”版)和“P2”(第“20130802”版)之间 Il…….),

解决方法:
重新想方法用vs2008编译crypto++成lib,然后vs2008中调用该lib(已解决)

其它问题:该lib给其它同事调用,仍然是vs2008,但是仍然提示该错误信息,最后分析结果为,同事的vs2008没有安装sp1

**总结:

  1. 可能是生成lib的vs版本与调用lib的vs版本不一致
  2. 可能是vs2008没有安装sp1补丁包**
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据错误消息"FATAL ERROR L252: RESTRICTED VERSION: CODE MUST BE ABOVE 4000H",这是一个编译器或汇编器的错误提示,指示你的代码必须位于4000H(十进制16384)以上的地址。 这个错误通常出现在使用某些特定的编译器或汇编器版本时,这些版本可能设置了限制,要求代码必须在指定的地址范围内。根据错误消息,你的代码被定位在低于4000H的地址上,因此触发了限制错误。 解决这个问题的方法取决于你使用的编译器或汇编器以及目标平台的要求。以下是一些可能的解决方案: 1. 检查代码:检查你的代码,确保没有使用低于4000H的地址。可能有某些指令、数据或函数被放置在了错误的地址上。 2. 更换编译器/汇编器版本:如果可能的话,尝试使用更高版本或不带限制的编译器/汇编器。查阅相关文档或联系编译器/汇编器的供应商以获取更多信息。 3. 调整目标平台设置:检查目标平台设置,确保没有设置限制或限制范围与你的代码匹配。有些平台可能具有地址约束或限制范围,需要进行相应的调整。 4. 寻求帮助:如果以上解决方案无效,你可以咨询相关的技术支持团队或论坛,寻求更具体的帮助和指导。 需要注意的是,具体解决方案取决于你的开发环境和目标平台的要求。为了更准确地解决该问题,建议提供更多关于你的代码、开发环境和目标平台的详细信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值