我想在以下位置构建MinGW-w64:
答:我想在Linux(64位)上编译MinGW本身。
B:我希望MinGW工具(编译器等)可以在Linux(64位)上运行。
C:我希望MinGW工具(编译器等)产生在Windows 64位(Win7和Win8)上运行的代码。
我在配置阶段遇到了麻烦。我已经在Google上搜索了一下,但是我无法找到配置时需要传递的选项。
我已经从(https://svn.code.sf.net/p/mingw-w64/code/trunk/)下载了MinGW-w64 SVN的源代码。(AFAICT这是当前的正式回购)。
源提供了文本帮助(mingw-w64-doc / howto-build / mingw-w64-howto-build.txt)。但是,这主要适用于希望在Windows上运行MinGW工具的用户。
示例选项(用于非multilib w64目标)是:
--host = x86_64-w64-mingw32 --target = x86_64-w64-mingw32 --disable-multilib
但是我想我希望host选项引用linux(对吗?)。我试过了
--host = x86_64-linux-gnu和
--host = x86_64-pc-linux-gnu但没有运气。
我得到错误:
配置:错误:请检查mingw-w64标头集和“构建/主机”选项是否设置正确。
配置:错误:../../../ svn / mingw-w64-v6615-2014-05-07 / mingw-w64-crt /为mingw-w64-crt配置失败
完整的日志是
检查是否启用Makefile的维护者特定部分...否 正在检查与BSD兼容的安装... / usr / bin / install -c 检查构建环境是否正常...是 / make / tool / MinGW / svn / mingw-w64-v6615-2014-05-07 / build-aux / missing:未知的“ --is-lightweight”选项 尝试`/ make / tool / MinGW / svn / mingw-w64-v6615-2014-05-07 / build-aux / missing --help'了解更多信息 配置:警告:“丢失”脚本太旧或丢失 检查x86_64-linux-gnu-strip ...否 检查带钢...带钢 检查线程安全的mkdir -p ... / bin / mkdir -p 检查gawk ... gawk 检查是否设置$(MAKE)...是 检查make是否支持嵌套变量...是 检查构建系统类型... x86_64-unknown-linux-gnu 检查主机系统类型... x86_64-pc-linux-gnu 检查是否建立标题...是 检查是否建立crt是 检查是否构建可选库...否 检查是否构建可选工具...否 检查生成的文件是否比配置更新...完成 配置:创建./config.status config.status:创建Makefile config.status:创建config.h config.status:config.h不变 ===在mingw-w64-header中配置(/ make / tool / MinGW / build / v6615-2014-05-07 / mingw-w64-headers) 配置:运行/ bin / bash ../../../svn/mingw-w64-v6615-2014-05-07/mingw-w64-headers/configure --disable-option-checking'--prefix = / make / tool / MinGW / use / v6615 / x86_64-w64-mingw32''--target = x86_64-w64-mingw32''--host = x86_64-linux-gnu''--disable-multilib''--with- sysroot = / make / tool / MinGW / use / v6615 / x86_64-w64-mingw32''host_alias = x86_64-linux-gnu''target_alias = x86_64-w64-mingw32'--cache-file = / dev / null --srcdir = .. / .. / .. / svn / mingw-w64-v6615-2014-05-07 / mingw-w64-headers 正在检查与BSD兼容的安装... / usr / bin / install -c 检查构建环境是否正常...是 / make / tool / MinGW / svn / mingw-w64-v6615-2014-05-07 / mingw-w64-headers / build-aux / missing:未知的“ --is-lightweight”选项 尝试`/ make / tool / MinGW / svn / mingw-w64-v6615-2014-05-07 / mingw-w64-headers / build-aux / missing --help'了解更多信息 配置:警告:“丢失”脚本太旧或丢失 检查x86_64-linux-gnu-strip ...否 检查带钢...带钢 检查线程安全的mkdir -p ... / bin / mkdir -p 检查gawk ... gawk 检查是否设置$(MAKE)...是 检查make是否支持嵌套变量...是 检查是否启用Makefile的维护者特定部分...否 检查构建系统类型... x86_64-unknown-linux-gnu 检查主机系统类型... x86_64-pc-linux-gnu 正在检查不会截断输出的sed ... / bin / sed 检查是否用widl重建头...否 检查是否为Cygwin构建w32api软件包...否 检查c-runtime标头...是 检查可选的sdk标头... ddk,directx 检查是否已启用安装IDL文件...否 检查是否启用安全API ...否 检查生成的文件是否比配置更新...完成 配置:创建./config.status config.status:创建Makefile config.status:创建crt / _mingw.h config.status:创建config.h config.status:config.h不变 ===在mingw-w64-crt中配置(/ make / tool / MinGW / build / v6615-2014-05-07 / mingw-w64-crt) 配置:运行/ bin / bash ../../../svn/mingw-w64-v6615-2014-05-07/mingw-w64-crt/configure --disable-option-checking'--prefix = / make / tool / MinGW / use / v6615 / x86_64-w64-mingw32''--target = x86_64-w64-mingw32''--host = x86_64-linux-gnu''--disable-multilib''--with- sysroot = / make / tool / MinGW / use / v6615 / x86_64-w64-mingw32''host_alias = x86_64-linux-gnu''target_alias = x86_64-w64-mingw32'--cache-file = / dev / null --srcdir = .. / .. / .. / svn / mingw-w64-v6615-2014-05-07 / mingw-w64-crt 正在检查与BSD兼容的安装... / usr / bin / install -c 检查构建环境是否正常...是 检查x86_64-linux-gnu-strip ...否 检查带钢...带钢 检查线程安全的mkdir -p ... / bin / mkdir -p 检查gawk ... gawk 检查是否设置$(MAKE)...是 检查make是否支持嵌套变量...是 检查是否启用Makefile的维护者特定部分...否 检查构建系统类型... x86_64-unknown-linux-gnu 检查主机系统类型... x86_64-pc-linux-gnu 正在检查sysroot ... / make / tool / MinGW / use / v6615 / x86_64-w64-mingw32 正在检查不会截断输出的sed ... / bin / sed 检查gawk ...(已缓存)gawk 检查x86_64-linux-gnu-gcc ... x86_64-linux-gnu-gcc 检查C编译器是否工作...是 检查C编译器默认输出文件名... a.out 正在检查可执行文件的后缀... 检查我们是否交叉编译...否 检查目标文件的后缀... o 检查我们是否正在使用GNU C编译器...是 检查x86_64-linux-gnu-gcc是否接受-g ...是 正在检查x86_64-linux-gnu-gcc选项以接受ISO C89 ...不需要 检查x86_64-linux-gnu-gcc是否同时理解-c和-o ...是 检查make所使用的include样式... GNU 检查x86_64-linux-gnu-gcc ... gcc3的依赖项样式 检查x86_64-linux-gnu-g ++ ... x86_64-linux-gnu-g ++ 检查我们是否正在使用GNU C ++编译器...是 检查x86_64-linux-gnu-g ++是否接受-g ...是 检查x86_64-linux-gnu-g ++的依赖项样式... gcc3 检查如何运行C预处理程序... x86_64-linux-gnu-gcc -E 检查x86_64-linux-gnu-ranlib ...否 检查ranlib ... ranlib 正在检查x86_64-linux-gnu-dlltool ...否 正在检查dlltool ...否 正在检查x86_64-linux-gnu-ar ...否 正在检查x86_64-linux-gnu-lib ...否 检查x86_64-linux-gnu-link ...否 检查ar ... ar 检查存档器(ar)界面... ar 检查x86_64-linux-gnu-gcc ... gcc3的依赖项样式 正在检查x86_64-linux-gnu-as ...否 检查为...为 检查是否为Cygwin构建w32api软件包...否 检查是否建立Win32库...否 检查是否建立Win64库...是 检查是否建立WinCE库...否 检查是否启用通配...否 检查是否启用私人出口...否 检查是否启用延迟导入库...否 检查是否启用实验功能...否 检查编译器是否支持-municode ...否 检查处理长行的grep和-e ... / bin / grep 正在检查egrep ... / bin / grep -E 正在检查ANSI C标头文件...是 正在检查sys / types.h ...是 正在检查sys / stat.h ...是 正在检查stdlib.h ...是 正在检查string.h ...是 正在检查内存...是的 正在检查strings.h ...是的 正在检查inttypes.h ...是 正在检查stdint.h ...是 检查unistd.h ...是的 正在检查_mingw_mac.h可用性...否 正在检查_mingw_mac.h存在...否 正在检查_mingw_mac.h ...否 配置:错误:请检查mingw-w64标头集和“构建/主机”选项是否设置正确。 配置:错误:../../../ svn / mingw-w64-v6615-2014-05-07 / mingw-w64-crt /为mingw-w64-crt配置失败
注意:我可以从源代码成功编译本机GCC和Clang。
目的:我的最终目标是使用最新的Clang为Windows 7/8 64位(包括D3D11和OpenGL)生成C ++ 14代码。
我要构建中继MinGW,因为最新的Clang生成了默认MinGW无法汇编的汇编代码(主要是“行末垃圾”错误)。
从2014年5月7日(今天)开始,只有Clang提供完整的C ++ 14支持,而我正在使用仅在Clang中可用的功能(例如:变量模板)。
但是,Clang依赖于GCC / MinGW进行组装和链接。
信息:操作系统:Linux Mint 16 64位(XFCE)。
感谢您的协助。