配置用于在Linux-64上为Linux-64构建MinGW-64的选项(最终针对Windows-64)

 yeyeye 发布于 2023-01-16 13:00

我想在以下位置构建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)。

感谢您的协助。

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有