由于pex-unix文件,binutils构建失败

Int*_*ide 9 binutils msys2

我想交叉编译GCC.我使用MSYS2作为shell,并使用mingw-w64作为编译器.

我已经下载了binutils-2.25并配置了:

../binutils/./configure --target=sh3eb-elf --prefix=C:/tempinstall/ --disable-nls
Run Code Online (Sandbox Code Playgroud)

我尝试binutilslibiberty/pex-unix文件上构建时出错:

在函数'pex_wait'中:错误:'F_GETFD'未声明(在此函数中首次使用)错误:'FD_CLOEXEC'未声明(在此函数中首次使用)错误:'F_SETFD'未声明(首次在此函数中使用)错误:'F_DUPFD'未申报(首次使用此功能)

在函数'restore_fd'中:错误:'FD_CLOEXEC'未声明(在此函数中首次使用)错误:'F_SETFD'未声明(在此函数中首次使用)

在函数'pex_unix_fdopenw'中:错误:'F_SETFD'未声明(在此函数中首次使用)错误:'FD_CLOEXEC'未声明(首次在此函数中使用)

几个月前我已经构建了相同的编译器而没有任何问题.但我已经改变了OS(Windows 7到W10)和编译器(MinGW-GCC 4.8到Mingw64-GCC 4.9)

我按照本教程

Int*_*ide 9

我找到了解决方案:

我使用MSys2和msys2_shell定义- -msys作为主机系统.

但是当我使用mingw32_shell(定义- -mingw32作为主机)时,GNU-Make编译pex-win32并且它的工作正常