mingw支持Linux平台运行吗,关于Windows:在Linux上使用mingw与clang交叉编译

我试图在Linux下为Windows编译。 我已经为Linux和w64-mingw安装了binutils multilib。

如果我使用x86_64-w64-mingw-gcc进行编译,则一切正常,但是如果我将-target x86_64-w64-mingw或x86_64-windows-gnu编译器与clang一起使用,则会给我很多警告,并且windows.h包含错误。

问题是什么? lang不支持mingw binutils?

附言 我也对freebsd的交叉使用感兴趣,在哪里可以找到针对freebsd的binutils?

提前非常感谢您:)

-target是不够的,还需要指定包含目录,

即:

clang -target i686-w64-mingw32 -nostdinc -fno-exceptions -isystem /opt/compiler/llvm-3.6/bin/../lib/clang/3.6.0/include -isystem /opt/compiler/mingw-w64/i686-w64-mingw32/include -isystem /opt/compiler/mingw-w64/i686-w64-mingw32/include/c++/4.9.2 -isystem /opt/compiler/mingw-w64/i686-w64-mingw32/include/c++/4.9.2/backward -isystem /opt/compiler/mingw-w64/i686-w64-mingw32/include/c++/4.9.2/i686-w64-mingw32

您可能会发现我的项目很有用:https://github.com/tpoechtrager/wclang-

该工具正在为您搜索所有麻烦的包含目录。

是的,我尝试了您的项目,该项目非常有用,但是我想学习如何在其他拱门上执行此操作。 但是我尝试了:clang -target i686-w64-mingw32 -nostdinc -fno-exceptions -isystem usrlibllvm-3.5bin..libclang3.5.0include -isystem usrlibgcci686-w64-mingw324.9-win32include -isystem usrlibgcci686-w64-mingw324.9-win32includec++ -isystem usrlibgcci686-w64-mingw324.9-win32includec++backward -isystem usrlibgcci686-w64-mingw324.9-win32includec++i686-w64-mingw32 *.c lib*.c -otest,现在使用-nostdinc找不到stdio.h

运行w32-clang -wc-verbose dummy.c / w64-clang -wc-verbose dummy.c以查看包含路径。

我的ELLCC项目用库打包了clang,并包含了可以针对多个目标的文件,包括使用MinGW-64 include和库的各种Linux目标和Windows。我有一个稍作修改的clang版本,我称之为ecc,它支持配置文件来指定从何处获取包含文件,如何链接等。clang / mingw的典型配置文件如下所示。我修改了clang的-target选项以检查适用的配置文件并使用它(例如,如果要定位64位Windows,请使用命令行)

ecc -target x86_64-w64-mingw32 hello.c

为了编译相同的程序例如在ARM Linux系统上,您可以使用以下命令行

ecc -target arm-linux-engeabihf hello.c

此处提供了受支持目标的完整列表。提供了适用于各种Linux主机和Windows的预编译二进制软件包。这些软件包包括支持所有目标的binutils和GDB。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值