使用MinGW安装XercesC时出错

时间:2015-09-11 14:48:53

标签: windows gcc mingw xerces-c

我试图用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网页中的构建说明相反,因为否则configure脚本将无法工作,因为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添加到PATHas suggested by Codeblocks,但没有退出。

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

1 个答案:

答案 0 :(得分:1)

我猜您使用MSYS来运行配置脚本,那么为什么在mingw32-make步骤中使用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