本文主要是介绍Windows 下 VS2019 编译 icu 库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、需要用到的工具
1、Cygwin
2、Visual Studio 2019 (其他版本也可以)
3、icu 源码
2、配置Cygwin
* 1、从 https://cygwin.com 上下载 setup-x86.exe 或 setup-x86_64.exe。
选择Install from Internet
, 在”User URL”处输入以下地址:
https://mirrors.tuna.tsinghua.edu.cn/cygwin/
点击”Add”按钮, 然后选中”https://mirrors.tuna.tsinghua.edu.cn”, 点击”下一步”进行安装。
注意,该列表为可多选列表,注意把上面不需要的镜像点掉。
* 2、选择一些必要的组件,默认的那些 + make
* 3、把Cygwin bin 中的 Link.exe 重命名一下,避免与VS的冲突, 如图
3、编译
1、打开VS命令行,具体你要用哪个,自行选择对应的,他们的区别你可以百度下:
2、打开之后输入 (注意路径改成你的安装路径):
# 1、进入到 Cygwin,注意路径改成你自己的cmd /c "C:/cygwin64/Cygwin.bat"# 2、进入到 icu 目录, 路径改成你自己的cd "F:\open_sourcecode\icu-main\x32_static\icu4c\source"# 3、配置# debug dll 版本
bash runConfigureICU --enable-debug --disable-release Cygwin/MSVC -prefix="F:/open_sourcecode/icu-main/icu4c/source/dist" -enable-shared -disable-static# release dll 版本
bash runConfigureICU --enable-release --disable-debug Cygwin/MSVC -prefix="F:/open_sourcecode/icu-main/icu4c/source/dist" -enable-shared -disable-static
静态版本:如果你想编译静态版本,我发现直接编译会有问题,需要改一些东西
1、打开 runConfigureICU,替换 :
debug 版本: /MDd, -MDd,/MD,-MD ----> /MTd
release 版本: /MDd, -MDd,/MD,-MD ----> /MT
我发现编译的时候,他 debug 版本用的还是 /MT,这个运行时库是不匹配的,
所 以全替换成一个就正常了。
2、修改 icu4c\source\extra\scrptrun\srtest.cpp
在顶上加入: #define U_STATIC_IMPLEMENTATION 1
如图
# debug 静态 lib 版本bash runConfigureICU --enable-debug --disable-release Cygwin/MSVC -prefix="F:/open_sourcecode/icu-main/icu4c/source/dist" -enable-static -disable-shared# release 静态 lib 版本bash runConfigureICU --enable-release --disable-debug Cygwin/MSVC -prefix="F:/open_sourcecode/icu-main/icu4c/source/dist" -enable-static -disable-shared
3、make & make install 即可完成编译
这篇关于Windows 下 VS2019 编译 icu 库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!