编译OpenJDK12:methodMatcher.cpp error C2220 警告被视为错误 - 没有生成“object”文件

简介: 编译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

目录
相关文章
|
C++
error C2220: 警告被视为错误 - 没有生成“object”文件
原文:error C2220: 警告被视为错误 - 没有生成“object”文件 这种错误的原因是:原因是该文件的代码页为英文,而我们系统中的代码页为中文。
5292 0
|
2月前
|
编译器 C++
VS Code设置C++编译器路径
VS Code设置C++编译器路径
38 0
|
3月前
|
Java
Error:java: 错误: 无效的源发行版:13, 类文件具有错误的版本 61.0, 应为 55.0 请删除该文件或确保该文件位于正确的类路径子目录中。
Error:java: 错误: 无效的源发行版:13, 类文件具有错误的版本 61.0, 应为 55.0 请删除该文件或确保该文件位于正确的类路径子目录中。
QT编译警告 warning LNK4042: 对象被多次指定;已忽略多余的指定
QT编译警告 warning LNK4042: 对象被多次指定;已忽略多余的指定
234 0
|
编译器
VS2022编译GDAL库报错: LINK : error LNK2001: 无法解析的外部符号 _OSRValidate _OGR_G_GetPointCount _OGRRegisterAll
VS2022编译GDAL库报错: LINK : error LNK2001: 无法解析的外部符号 _OSRValidate _OGR_G_GetPointCount _OGRRegisterAll
459 0
|
Linux Windows
编译OpenJDK8-u302出错:error C3861: “INT64_C”: 找不到标识符
编译OpenJDK8-u302出错:error C3861: “INT64_C”: 找不到标识符
121 0
|
C++
编译OpenJDK12:methodMatcher.cpp error C2220 警告被视为错误 - 没有生成“object”文件
编译OpenJDK12:methodMatcher.cpp error C2220 警告被视为错误 - 没有生成“object”文件
328 0
|
Linux Windows
cygwin编译x264:extras/avisynth_c.h 未知类型错误 'HMODULE'
cygwin编译x264:extras/avisynth_c.h 未知类型错误 'HMODULE'
81 0
编译OpenJDK12:freetypeScaler.obj error LINK2019 无法解析的外部符号
编译OpenJDK12:freetypeScaler.obj error LINK2019 无法解析的外部符号
91 0
编译OpenJDK12:test_json.cpp error C2143 语法错误
编译OpenJDK12:test_json.cpp error C2143 语法错误
78 0