赞
踩
我在vs2019上编译一个项目时出现的上述错误,根据第二行的警告可以知道,是由于我的cryptlib库使用了/GL和/LTGC规范导致编译出错。
IL:编译链接时的内部语言,编译可细分为前后端,前段编译会使用C1.dll来生成IL,后端编译会使用C2.dll来运用IL。
LTCG:链接时分模块进行优化,由于LTCG,使得C1和C2无法匹配。
判断lib文件是否使用LTCG的方法: http://t.csdn.cn/7HaXx
根据别的教程,右键点击库对应的工程文件, 把GL和LTCG功能关掉
我尝试了,甚至把所有优化有关的全关掉,并没有作用。
于是我决定重新下载编译一版新的。
从官网上下载了version7.0版本,然后用vs2019打开vcxproj文件,点击生成lib文件。
用上面提到的检验方法检查发现新生成的lib文件是没有使用LTCG,于是用这个新的cryptopp文件夹替换掉项目中的旧版,但是!新的文件并不能被识别!
于是我捣鼓了很久,终于在使用到这个库的子项目对应的vcxpoj文件中发现了信息!
项目使用到摸一个库时,会在工程文件中写下它的路径和一串码,而这串码在库自己的工程文件中存在
于是我将在VS中搜索出所有出现这个库的工程文件(.sln, .vcxproj),将旧码全部替换成新码就可以了!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。