Dec
06
2021
编译OpenJDK12:methodMatcher.cpp error C2220 警告被视为错误 - 没有生成“object”文件
如果是VS工程出现这个错误,那好办,项目,右键,属性,C/C++,所有选项,将警告视为错误,改为否,即可。而这里……
查看其他信息,提示:该文件包含不能在当前代码页中表示的字符。请将该文件保存为Unicode格式以防数据丢失。
仔细研究了一下代码,原因是一个表示0xFF以内(部分没用到)的数组导致的。这个数组传递时好像变成了UTF-8?导致后续都无法处理。怎么办?
- 编译时加选项(有效解决):
--disable-warnings-as-errors
- 改文件格式(无效)
吾将其拖入VS中,保存时选择Unicode UTF-8带签名。
文件是:src/hotspot/share/compiler/methodMatcher.cpp(258)
- 修改CFLAG(无效)
打开src/utils/hsdis/Makefile:161,修改CFLAG:
把 /WX 改为 /WX-
- 修改代码
还有一个make/hotspot/src/classes/build/tools/projectcreator/WinGammaPlatformVC10.java,Set /WX option下一句改为false
本公司销售:阿里云新/老客户,只要购买阿里云,即可享受折上折优惠!>
我有话说: