C++ 输出endl时发出铿锵声

C++ 输出endl时发出铿锵声,c++,segmentation-fault,clang,C++,Segmentation Fault,Clang,我正在试用Clang(3.4版,通过Windows预构建的二进制文件),看看它是否适合替代GCC(4.8.1版,使用MinGW);然而,我无法让一个简单的程序工作 #include <iostream> int main() { std::cout << std::endl; } #包括 int main() { std::coutLLVM 3.4有一个挂起的bug。问题似乎是LLVM 3.4和MinGW 4.7+之间的ABI不兼容,导致拾取的是i686指令,

我正在试用Clang(3.4版,通过Windows预构建的二进制文件),看看它是否适合替代GCC(4.8.1版,使用MinGW);然而,我无法让一个简单的程序工作

#include <iostream>

int main()
{
    std::cout << std::endl;
}
#包括
int main()
{

std::coutLLVM 3.4有一个挂起的bug。问题似乎是LLVM 3.4和MinGW 4.7+之间的ABI不兼容,导致拾取的是i686指令,而不是选定的目标

x64 Windows上的一个可能的解决方案是使用。这应该可以工作,但要正确获取标准库标题可能很棘手


推荐的解决方案是,调整系统上的目标和任何路径,并将其编译。

我猜标准库版本中存在不匹配的问题。您是如何安装libstdc++的,以及如何编译和链接可执行文件的?@NateKohl我使用的是mingw安装的libstdc++版本,与其他版本一起使用f GCC.至于编译,我在命令行中使用
clang++a.cpp
。可能会添加“return 0”或替换为“void main()”@Kyle这可能是一个愚蠢的建议,但请确保您的库路径指向正确的标准库(即已安装的MinGW库,而不是您系统上以前存在的任何库)。可以肯定的是,查找MinGW将其放入库中的位置,并使用-l标志来确保这是它链接所针对的内容。