代码之家  ›  专栏  ›  技术社区  ›  FKaria

使用MinGW安装XercesC时出错

  •  0
  • FKaria  · 技术社区  · 9 年前

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

    运行后 $ mingw32-make 在xerces目录中,我得到以下错误:

    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无法识别该标志。这个 配置 然而,脚本似乎运行良好。之后,跑步 mingw32-make 给出了上面的错误。

    我的mingw32 make和mingw32 gcc版本是

    • 明w32 gcc/g++4.8.1
    • 明w32为3.82.90

    我尝试添加 C:\MinGW\libexec\gcc\mingw32\4.8.1 到我的 PATH , as suggested by Codeblocks ,但没有出口。

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

    1 回复  |  直到 9 年前
        1
  •  1
  •   Keith Marshall    9 年前

    我猜您正在使用MSYS运行configure脚本,那么为什么要使用 mingw32-make 对于 make 步你应该运行 制作 也可以进入MSYS,并使用 制作 其配备有MSYS。您看到的错误消息表明 明w32制造 无法解析到的路径 /bin/mkdir ,这是一个MSYS命令,在MSYS shell进程上下文之外不应可见。

    不管好坏 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