gpt4 book ai didi

c++ - 将 Clang 3.6 与 MinGW w64 4.8 结合使用

转载 作者:搜寻专家 更新时间:2023-10-31 00:32:26 24 4
gpt4 key购买 nike

我有一个基于 Clang 的项目,它使用 MinGW (w64)。我正在将它更新到 Clang 3.6。显然 MinGW 在 4.7 中更改了他们的 ABI,而 Clang 现在使用新的 ABI,所以我同时更新了 MinGW。

但是,现在我遇到了一个小问题。使用 Clang 加载 libstdc++ header 会导致大量编译错误——尤其是关于常量表达式永远不会是常量的内容。我已启用 C++14 和 C++1y 支持。

此外,我无法让 Clang 识别目标是 MinGW。似乎在 3.6 中删除了他们对 MinGW 的三重支持,现在我不知道如何与 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 也可以满足您的要求。

关于c++ - 将 Clang 3.6 与 MinGW w64 4.8 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31355301/

24 4 0
文章推荐: c++ - HWND 鼠标悬停时改变光标
文章推荐: c++ - 菊花链可变参数模板类
文章推荐: C++ std::sort on std::vector - 错误太多