繁体   English   中英

在MinGW w64 4.8中使用Clang 3.6

[英]Using Clang 3.6 with MinGW w64 4.8

我有一个使用MinGW(w64)的基于Clang的项目。 我正在将其更新为Clang 3.6。 显然,MinGW在4.7中更改了其ABI,而Clang现在使用的是新的ABI,因此我要同时更新MinGW。

但是,现在我有一个小问题。 使用Clang加载libstdc ++标头会导致很多编译错误-特别是关于常量表达式永远不会恒定的东西。 我已启用C ++ 14和C ++ 1y支持。

此外,我无法让Clang认识到目标是MinGW。 似乎他们对MinGW的三重支持已在3.6中删除,现在我不知道如何与Clang交流,他们应该发出与MinGW ABI兼容的代码。

如何使Clang与MinGW w64兼容?

您可以通过-target使clang目标为MinGW-w64,即:

$ clang -v 2>&1|grep Target
Target: i386-pc-windows-cygnus

$ clang -target i686-w64-mingw32 -v 2>&1|grep Target
Target: i686-w64-windows-gnu

简单地将clang可执行文件重命名为i686-w64-mingw32-clang++.exe也可能会做您想要的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM