如何在Cygwin中配置gcc工具链以构建Windows 10下的OpenJDK 9?
我之前在Windows 10的Cygwin环境里构建OpenJDK 9时,也碰到过系统默认识别Microsoft工具链而非GCC的情况,给你几个实用的解决思路:
调整环境变量优先级
Windows自带的Microsoft工具链路径可能排在Cygwin路径前面,导致configure优先检测到它。你可以在Cygwin终端里临时修改PATH,让Cygwin的GCC路径优先:export PATH=/usr/bin:$PATH如果想永久生效,把这行命令添加到Cygwin用户目录下的
~/.bashrc文件中,下次启动终端就会自动生效。给configure明确指定编译器路径
直接在configure命令里指定GCC和G++的路径,强制使用Cygwin的工具链,修改后的命令如下:./configure MAKE=/usr/local/bin/gmake \ with_freetype=C:/Users/gfalk/OpenJDK/freetype \ CC=/usr/bin/gcc \ CXX=/usr/bin/g++确认Cygwin的GCC工具链完整安装
检查是否在Cygwin安装过程中装全了必要的编译工具,比如gcc-core、gcc-g++、make这些包。如果之前漏装了,打开Cygwin安装器重新选择这些包进行安装,之后重启终端再尝试配置。
另外,执行configure前建议删除之前生成的build目录(如果存在),避免旧的配置缓存干扰新的检测流程。
你的原始配置命令及错误开头如下:
bash$ ./configure MAKE=/usr/local/bin/gmake with_freetype=C:/Users/gfalk/OpenJDK/freetype
Running generated-configure.sh
configure: Configuration created at Sat Mar 17 14:44:10 EDT 2018.
configure: configure script generated at timestamp 1496926402.
checking for basename... /usr/bin/basename
checking for bash... /usr/bin/bash ..
内容的提问来源于stack exchange,提问作者Geoffrey Falk

