简单的步骤
1. MinGW + msys: 我已经整理好直接解压即可 http://pan.baidu.com/s/1bncptlt
2. OpenJDK8 source code: http://pan.baidu.com/s/1eQtKkeQ 其中包括了freetype 和 一个环境bat
如果想更新到最新的JDK8 source, 安装 HG, 解压后运行 jdk8/src/get_source.sh. 此压缩包并未破坏HG文件
3. 安装 vs2010 和 sp1, 没有sp1补丁会有link错误
4. 修改 jdk8/hg_env.bat, 使环境变量 HG (mercurial hg), MINGW, BOOST_STARP_JDK 等 指向正确目录. 运行hg_env.bat
5. 运行configure
bash ./configure --enable-debug --with-num-cores=4 --with-target-bits=64 --with-freetype=../freetype
如果提示找不到 msvcr100.dll, 修改 jdk8\src\common\autoconf\generated-configure.sh, 把"CORRECT_MSVCR_ARCH=x86-64" 换成 "CORRECT_MSVCR_ARCH=MS"
6 . make all
补充
1. 在这里下载一个MinGW, 64位
下载 cpio.exe, 放在msys内
下载msys, 整合到 MinGW中
下载一个mingw-get.exe, copy到MinGW bin中
运行
mingw-get.exe install msys-zip
mingw-get.exe install msys-unzip
mingw-get.exe install msys-mktemp
2. http://hg.openjdk.java.net/jdk8/jdk8 这里下载一个zip包, 解压后 运行get_source.sh下载最新source, 我的百度jdk8包已经下载好source, 可以直接用.
当然, 提前安装好mercurial hg http://mercurial.selenic.com/downloads
2.1 下载编译 freetype
我是用cmake生成vs2010 project, 然后编译 release, 要注意事项
a. 修改makelist.txt, 在 add_library(...) 加入 SHARED, 默认是static lib
b. 修改 某 头文件, 在宏定义 FT_EXPORT 加上 __declspec (dllexport )
c. 在freetype目录下#ifndef
FT_EXPORT
#ifdef
__cplusplus
#define
FT_EXPORT( x ) __declspec (dllexport ) extern "C" x
#else
#define
FT_EXPORT( x ) __declspec (dllexport ) extern x
#endif
#endif
/* !FT_EXPORT */
mkdir build
cd build
cmake -G "Visual Studio 10 2010 Win64" ../
d. 编译吧. 最后把dll lib copy到freetype下的lib目录里, 步骤5中 --with-freetype指向此freetype路径
可以参考source的README-builds.html, 当然如果文档上说的全面正确, 我也不会做此记录了.