在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
背景:今天傻逼逼地想用vs2010来编译一个vs2013的项目,其中这个项目用到了一个库(应该是用2013编译的) 在我浅薄的认知中,以为只是13支持的特性更多,如果没有用到一些2010编译器不支持的特性应该用10也是能跑的, 结果告诉我,我是那么的天真,其中还要跨越一个叫链接器这样的领域(然而我又不太懂这个编译器,只是稍微了解过) 结果就出现了c1900,参考了这个资料后,大概明白了原来还有ltcd这回事。。。 总结一下文章要点,详情请点入去看,这里就不直接帖过来了。
IL - Intermiate Language,有时也称Intermediate Representations,是编译链接code generation时使用内部语言。 链接时使用了某些用更新的编译器编译的LTCG的library。
解决方案:两种
具体操作:首先判断使用的lib是否是LTCG库,然后把其编译成非LTCG库即可:1.检查:使用link -dump -disasm <yourlib.lib>可以检验是否使用了/GL。普通的lib dump出来会看到汇编代码,而含有IL的lib不会 C:\Program Files\Microsoft Visual Studio 10.0\VC\bin>link -dump -disasm E:\Workspace\CloudPub\Trunk\__Internal\Libs\jepglib8c64.lib
如果不是LGCT lib,则输出显示如下汇编代码:
Summary
TYPE:library
亲测命令可用:
2.编译:编译方法:设置项目-->属性-->配置属性-->常规-->项目默认值-->全程序优化选择“无全程序优化” |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论