【发布时间】:2015-11-21 05:32:10
【问题描述】:
更新:
我已经写了一个详细的教程,其中包含了这个问题的前两个答案:http://blog.johannesmp.com/2015/09/01/installing-clang-on-windows-pt1/
TL;DR
在 Windows 上,给定以下程序:
#include <iostream>
int main()
{
int arr[] = {1, 2, 3, 4, 5};
for(auto el : arr)
{
std::cout << el << std::endl;
}
return 0;
}
我希望能够做到以下几点:
clang++ hello.cpp -o hello.exe -std=c++14
并获得一个正常工作的 64 位可执行文件。我不想附加大量的-I 包含来告诉clang 在哪里可以找到iostream 或其他标准c++ 标头;我不想在多个步骤中链接。
我不太关心性能、效率、使用什么链接器等。我只想能够正确设置 clang/gcc/whatever 以便我可以使用单个、快速和肮脏的,类似上面的控制台命令。
我需要安装什么才能正常工作?
问题
作为一个主要是 mac/linux 用户,我习惯于使用包管理器来安装最新版本的 clang,可以正常工作。
我现在正在尝试在 Windows 上设置 clang/gnu 编译器,这似乎要困难得多,如果仅仅是因为那里几乎没有直接的文档(我已经能够找到)
我尝试按照本教程进行操作:https://yongweiwu.wordpress.com/2014/12/24/installing-clang-3-5-for-windows - 并且能够使用它来获取 clang 来构建和链接(使用 gcc 4.8.2),但生成的二进制文件是 32 位的。
我已经尝试安装最新的 clang 预构建二进制文件 (3.6.2) 和 64 位版本的 mingw-w64 (4.9.3 for 64 bit with posix and sjlj for exceptions),结果如下:
hello.cpp:1:10: fatal error: 'iostream' file not found
#include <iostream>
^
1 error generated.
这似乎表明 clang 没有看到 gcc 的文件。似乎某些版本的 LLVM/clang 仅在寻找某些版本的 gcc,但这似乎没有在任何地方记录?
同样有人在 LLVM IRC 上向我提到,您需要修改 clang 的驱动程序以在某些路径中查找 gcc?
我在寻找什么
如有必要,我可以从源代码构建 LLVM/Clang,但我真的只是在寻找清晰的分步说明,让我能够尽可能轻松地使用 clang++用mac/linux
类似:
- 构建 LLVM/Clang 的
this version并将其放入that directory - 下载并安装
this version的cygwin(或mingw32或mingw-w64)并安装these packages。 - 等等..
【问题讨论】:
标签: windows c++11 gcc clang++ llvm-clang