如果是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