[英]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.