gpt4 book ai didi

windows - 您需要安装什么才能在 Windows 上使用 Clang 为 64 位构建 c++14?

转载 作者:可可西里 更新时间:2023-11-01 11:58:17 24 4
gpt4 key购买 nike

更新:

我写了一个详细的教程,其中包含关于这个问题的前两个答案:http://blog.johannesmp.com/2015/09/01/installing-clang-on-windows-pt1/



长话短说

在 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++ header ;我不想分多个步骤进行链接。

我不太关心性能、效率、使用什么链接器等。我只想能够正确设置 clang/gcc/任何东西,这样我就可以使用一个单一的、快速的、肮脏的、类似上面的控制台命令。

我需要安装什么才能正常工作


问题

作为一个主要使用 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 来做

类似于:

  1. 构建 这个版本 的 LLVM/Clang 并将它放在那个目录
  2. 下载并安装 此版本 的 cygwin(或 mingw32 或 mingw-w64)并安装这些包
  3. 等..

最佳答案

尝试安装 MSYS2然后安装 mingw-w64-x86_64-clang(二进制)包:

pacman -S mingw-w64-x86_64-clang

目前它有点旧 (3.6.2),但对您来说可能已经足够好了。然后,当您运行 MSYS2 提供的 Win64 shell 时,clang 将出现在您的路径上。

如果它还不够好,我最近一直在用 MSYS2 构建一个 64 位版本的 clang,并用它来编译 native 64 位 Windows 可执行文件。我的过程是这样的:

  1. 使用 pacman 安装 base-devel、mingw-w64-x86_64-ninja、mingw-x86_64-cmake 以及构建过程可能需要的其他一些包。
  2. 捕获 my PKGBUILD script for clang and the files in the same directory .这是基于 mingw-w64-clang-svn来自 MSYS2 的软件包,这主要是马爹利马龙的工作。您可以在 MSYS2 IRC channel 上找到他,并向他询问更多相关信息。
  3. 在 Win64 shell 中,转到包含我的 PKGDUILD 的目录,运行 export MINGW_INSTALLS=mingw64(因此您只编译 64 位版本),然后运行 ​​makepkg- mingw.

您不太可能在第一次尝试时就把所有事情都做对,并且某些文件可能需要编辑。自从我上次这样做以来,Clang 可能已经发生了变化,一些补丁可能无法完全应用。

关于windows - 您需要安装什么才能在 Windows 上使用 Clang 为 64 位构建 c++14?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32239122/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com