使用 MinGW 安装 XercesC 时出错

Error installing XercesC with MinGW

我正在尝试使用 MinGW 构建 XercesC-3.1.2。

在xerces目录下运行ning $ 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 脚本似乎 运行 没问题。之后,运行ning mingw32-make 给出上面的错误。

我的 mingw32-make 和 mingw32-gcc 版本是

我尝试将 C:\MinGW\libexec\gcc\mingw32.8.1 添加到我的 PATHas suggested by Codeblocks,但没有退出。

我还在另一台没有其他编译器(或 Cygwin 或任何东西)的机器上重新安装了 MinGW,并得到了相同的结果。

我猜你正在使用 MSYS 来 运行 配置脚本,那么你为什么在 make 步骤中使用 mingw32-make?您也应该 运行 MSYS 中的 make 步骤,并使用 MSYS 提供的 make 。您看到的错误消息表明 mingw32-make 无法解析到 /bin/mkdir 的路径,这是一个 MSYS 命令,并且在 MSYS shell 进程上下文之外不应该是可见的。

FWIW,xerces-c-3.1.2 为我构建了 OOTB,与 gcc-4.9.3 和 binutils-2.24.1 交叉编译,如下:

tar xf ~/Downloads/xerces-c-3.1.2.tar.xz
mkdir xerces-c-3.1.2/build
cd xerces-c-3.1.2/build
../configure --build=x86_64-linux-gnu --host=mingw32 --prefix=/mingw --enable-static --enable-shared
...
make LDFLAGS=-no-undefined
make prefix=`pwd`/dist/staged install