编译ICU的动态库(DLL)很简单,但想编译静态库就比较麻烦了,这里记录下编译流程。
一、编译环境准备
- VS2019
- Cygwin
- ICU 源码
关于 VS2019 和 Cygwin 的安装与配置不再赘述。
唯一需要留意的就是:将 Cygwin 安装目录下的 link.exe 重命名为 link.exe.bak(因为该文件和VS2019中的同名,会编译冲突失败。使用完记得再将该文件名恢复回去)
二、命令行准备
开始菜单中找到所需的命令行,本文以 x86 Native Tools Command Prompt for VS 2019 为例。
执行以下命令行,部署好编译环境:
cmd /c "D:\cygwin64\Cygwin.bat"
cd /cygdrive/d/src/github/icu/source/
三、开始编译
执行以下几条命令:
./runConfigureICU Cygwin/MSVC --prefix="D:/src/github/icu/source/build" --enable-static --disable-shared
make
make install
编译完后,生成的静态库文件,会被拷贝到 --prefix 指定的位置。
四、编译错误
若运行命令行报以下错误,是因为回车换行符,只需将几个bash脚本的换行符由Windows(CRLF)替换成Unix(LF)即可。
./runConfigureICU: 行 6: $'\r': 未找到命令
./runConfigureICU: 行 9: $'\r': 未找到命令
./runConfigureICU: 行 12: $'\r': 未找到命令
./runConfigureICU: 行 13: 未预期的记号 "$'\r'" 附近有语法错误
'/runConfigureICU: 行 13: `usage()