命令冻结用mingw构建ICU

时间:2013-12-31 13:54:08

标签: makefile windows-7-x64 icu mingw32

这就是我为静态链接所做的工作。

$ ./runConfigureICU MinGW --enable-debug --disable-release --prefix=/mingw/dist --enable-static --disable-shared

它结束了,我想。

ICU for C/C++ 52.1 is ready to be built.
=== Important Notes: ===
Data Packaging: static
 This means: ICU data will be stored in a static library.
 To locate data: ICU will use the linked data library. If linked with the stub library located in stubdata/, the application can use udata_setCommonData() or set a data path to override.
Building ICU: Use a GNU make such as make to build ICU.
checking the version of "make"... 3.81 (we wanted at least 3.80)
ok
If the result of the above commands looks okay to you, go to the directory
source in the ICU distribution to build ICU. Please remember that ICU needs
GNU make to build properly...
bash-3.1$

然后我运行make命令:

 $ make && make install

经过一些工作,它挂在:

make[0]: Making `all' in `data'

当我使用进程资源管理器检查进程时,它显示没有任何CPU活动,状态为:wait:UserRequest

有人经历过这个吗?欢迎任何帮助。

更新:按建议添加-d选项后的结果。

make[0]: Making `all' in `data'
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for i686-pc-msys
Reading makefiles...
Reading makefile `Makefile'...
Reading makefile `../icudefs.mk' (search path) (no ~ expansion)...
Reading makefile `../config/mh-mingw' (search path) (no ~ expansion)...
Reading makefile `../icudefs.local' (search path) (don't care) (no ~ expansion)...

使用:Window 7 x64,mingw 4.8.1-4,

2 个答案:

答案 0 :(得分:0)

我使用了http://sourceforge.net/projects/msys2/files/REPOS/MSYS2/Sources/mingw-w64-icu-52.1-1.src.tar.gz/download中的补丁感谢msys2的开发人员。修补源代码后编译好了...如果您有任何其他疑问,请告诉我。我使用了以下补丁:

patch -p1 -i icu4c-4_9_1-mingw-w64-mkdir-compatibility.patch
patch -p1 -i icu-config.patch
patch -p1 -i icu-pkgconfig.patch

我已经浏览了PKGBUILD并应用了该文件中提到的补丁

答案 1 :(得分:0)

对我来说,将文件 source / config / mh-mingw64

更改为
# Current full path directory.
#CURR_FULL_DIR=$(shell pwd -W)#M# for MSYS
CURR_FULL_DIR?=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell
# Current full path directory for use in source code in a -D compiler option.
#CURR_SRCCODE_FULL_DIR=$(subst /,\\\\,$(shell pwd -W))#M# for MSYS
CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell

# Current full path directory.
CURR_FULL_DIR=$(shell pwd -W)#M# for MSYS
#CURR_FULL_DIR?=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell
# Current full path directory for use in source code in a -D compiler option.
CURR_SRCCODE_FULL_DIR=$(subst /,\\\\,$(shell pwd -W))#M# for MSYS
#CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell

使用MSYS可以解决问题。