使用mingw构建ICU时,make命令会冻结

3

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

$ ./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活动,状态为:等待:用户请求。

有人遇到过这种情况吗?欢迎任何帮助。

更新:按建议添加-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)...

使用:Windows 7 x64,mingw 4.8.1-4。

看起来像是make正在调用的某个命令正在请求用户输入,但输出被重定向到其他地方,所以您看不到提示符。您需要使用“-d”或类似选项运行,以查看make正在调用哪些命令。 - MadScientist
我根据你的建议更新了结果。对我来说它没有任何意义。 - Mr blunder
2个回答

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解决了问题。


0

它包含了几个扩展名为 patch 的文件,但我不知道如何应用它们。有没有 readme 文件或者一些指导? - Mr blunder
我尝试使用提到的补丁来构建x64版本的"icu4c-52_1-src.zip",但仍然无法解决这个问题。 - kenmux

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接