Windows 下 VS2019 编译 icu 库

Posted ___stdcall

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 库的主要内容,如果未能解决你的问题,请参考以下文章

Windows 下 VS2019 编译 icu 库

Qt5.9.0正式版动态编译 (VS2017) 支持WebEngine ICU OpenSSL

如何在VS2015中集成QT5.5

boost::locale 1.57.0 和 Windows 下的 ICU 库 54.1 (VC++ 2010)

windows下vs2015编译BOOST

VS不同编译器,x86,x64,动态库,静态库交叉引用问题