Removed the Visual Studio Version Check because it does not
work with internationalized versions of Visual Studio. It will capture
the returned string in the local codepage encoding and make ruby exits
with an invalid UTF8 error message.
Also "Version" might be translated and not appear in the output.
MODIFY
tasks/toolchains/visualcpp.rake
tasks/toolchains/visualcpp.rake
@@ -55,14 +55,15 @@ MRuby::Toolchain.new(:visualcpp) do |conf, _params|
conf.file_separator = '\\'
- if require 'open3'
- Open3.popen3 conf.cc.command do |_, _, e, _|
- if /Version (\d{2})\.\d{2}\.\d{5}/ =~ e.gets && $1.to_i <= 17
- m = "# VS2010/2012 support will be dropped after the next release! #"
- h = "#" * m.length
- puts h, m, h
- end
- end
- end
+ # Unreliable detection and will result in invalid encoding errors for localized versions of Visual C++
+ # if require 'open3'
+ # Open3.popen3 conf.cc.command do |_, _, e, _|
+ # if /Version (\d{2})\.\d{2}\.\d{5}/ =~ e.gets && $1.to_i <= 17
+ # m = "# VS2010/2012 support will be dropped after the next release! #"
+ # h = "#" * m.length
+ # puts h, m, h
+ # end
+ # end
+ # end
end

Removed the Visual Studio Version Check because it does not
work with internationalized versions of Visual Studio. It will capture
the returned string in the local codepage encoding and make ruby exits
with an invalid UTF8 error message.

Also "Version" might be translated and not appear in the output.