【发布时间】:2015-09-11 14:48:53
【问题描述】:
我正在尝试使用 MinGW 构建 XercesC-3.1.2。
在xerces目录下运行$ mingw32-make后,出现如下错误:
mingw32-make[4]: Entering directory '/my/path/to/xerces-c-3.1.2/src'
process_begin: CreateProcess(NULL, /bin/mkdir -p xercesc/util, ...) failed.
make (e=2): The system cannot find the file specified.
按照XercesC build instructions,我正在运行configure 脚本
$ ./configure CC=mingw32-gcc CXX=mingw32-g++
但没有变量LDFLAGS=-no-undefined。这与 XercesC 网页中的构建说明相反,因为否则配置脚本将无法工作,因为 gcc 无法识别标志。不过,configure 脚本似乎运行良好。之后,运行mingw32-make 会出现上述错误。
我的 mingw32-make 和 mingw32-gcc 版本是
- mingw32-gcc/g++ 4.8.1
- mingw32-make 3.82.90
我尝试将C:\MinGW\libexec\gcc\mingw32\4.8.1 添加到我的PATH、as suggested by Codeblocks,但没有退出。
我还在另一台没有其他编译器(或 Cygwin 或其他任何东西)的机器上全新安装了 MinGW,并得到了相同的结果。
【问题讨论】:
-
您确定要构建的是 xerces-c-3.2.1 吗?您提到的构建说明似乎适用于 xerces-c-3.1.2(这似乎是当前发布的版本)。
-
xerces-c 编译系统不允许你创建一个DLL,没有
LDFLAGS=-no-undefined;这是隐含的,因此在构建 Windows DLL 时非常多余,因此我认为需要明确指定它是构建系统错误。在配置脚本中滥用它进一步加剧了这种情况,(导致configure以 "compiler cannot create executables" 异常中止;但是,可以在 after 之后指定它i> 运行configure,作为调用make时的宏规范。 -
是的,@KeithMarshall,xerces-c-3.1.2,抱歉打错了。
标签: windows gcc mingw xerces-c