精华内容
下载资源
问答
  • Windows交叉编译工具链的Windows SDK文件 从17763.132.181022-1834.rs5_release_svc_prod1_WindowsSDK.iso提取。 笔记: 删除了对静态链接调试的支持,并发布了通用CRT库,因为它使SDK二进制文件的大小减少了50%...
  • Windows上使用clang编译器

    万次阅读 2017-04-01 13:28:23
    在Stackoverflow等网站上,经常出现各种编译器的对比的结果,其中clang是很常见的,那么,怎样在Windows上使用clang呢,没那么直观。 直接去llvm官网上下载clang的发行包,解压,到bin下面,看到应该是我们想要的...

    在Stackoverflow等网站上,经常出现各种编译器的对比的结果,其中clang是很常见的,那么,怎样在Windows上使用clang呢,没那么直观。

    直接去llvm官网上下载clang的发行包,解压,到bin下面,看到应该是我们想要的工具,最重要的,clang.exe clang++.exe。

    直接写个小HelloWorld,并不能编译:

    fatal error: 'stdio.h' file not found

    或者其他类似的找不到头文件的错误。


    在下载解压的包里,搜索文件‘stdio.h’或‘iostream’,居然搜不到?!

    是的,根本没有。所以在windows上,clang和所谓的gcc还是非常不同的。

    gcc(g++)基于mingw,提供自己的一整套C++标准库和Windows SDK的头文件和库。

    而clang只是一个编译器前端,在Windows上使用的头文件、链接器等使用的是Visual C++里的!


    所以,要想在Windows上正常使用clang,应该想办法把Visual Studio的VC++里的头文件、库和工具暴露出来。


    先到开始按钮里,打开那个叫什么“visual studio 工具命令行”,然后在这个cmd里用clang编译,没问题。

    实际上,上一步运行的是在Visual C++文件夹下的vcvarsall.bat。


    所以我们就知道了,这样:

    把LLVM的bin文件夹LLVM\bin\填到PATH里,这个PATH下有clang.exe;

    把Visual C++文件夹Microsoft Visual Studio 14.0\VC\填到PATH里,这个PATH下有vcvarsall.bat

    打开cmd;

    输入:vcvarsall.bat,回车;

    使用clang编译程序。


    这里编出来是32位的,如果想编出64位的,需要将vcvarsall.bat那一步改为:

    vcvarsall.bat AMD64,回车。


    就这样,应该没啥问题。


    建议使用ConEmu代替自带的cmd。很好用。

    展开全文
  • windows安装clang

    万次阅读 2017-07-25 10:06:37
    一、下载并安装最新版clang (for windows) 地址:http://www.llvm.org/releases/download.html 安装时选中添加 LLVM 到 path。 二、编译代码。 有 tmp.cc,内容如下: #include #include using namespace std...

    一、下载并安装最新版clang (for windows)

    地址:http://www.llvm.org/releases/download.html

    安装时选中添加 LLVM 到 path。

    二、编译代码。

    有 tmp.cc,内容如下:

    #include <iostream>
    #include <vector>
    using namespace std;
    
    int main()
    {
    	vector<int> v;
    	for (int i = 0; i < 5; ++i)
    		v.push_back(i);
    	if (1 == 1) {
    		cout << "This is 1" << endl;
    		cout << "too many spaces" << endl;
    	} else {
    		cout << "haha else!" << endl;
    	}
    	cout << "end" << endl;
    	for (auto &x : v)
    		cout << &x << ' ';
    	cout << endl;
    	for (auto x : v)
    		cout << &x << ' ';
    	cout << endl;
    }
    


    编译命令为:
    clang++ -Xclang -flto-visibility-public-std -std=c++14 tmp.cc

    clang-cl tmp.cc

    (参考:https://stackoverflow.com/questions/42545078/clang-version-5-and-lnk4217-warning

    展开全文
  • windows clang gcc的方法

    2021-08-14 10:50:33
    https://yongweiwu.wordpress.com/2014/12/24/installing-clang-3-5-for-windows/

    https://yongweiwu.wordpress.com/2014/12/24/installing-clang-3-5-for-windows/ – 不好用。。。

    原因是:
    https://zhuanlan.zhihu.com/p/34520938
    clang只是一个编译前端,并未实现C的标准库,C的标准库需要MinGW来提供。

    https://stackoverflow.com/questions/63914108/using-clang-in-windows-10-for-c-c

    增加target设置

    https://stackoverflow.com/questions/39871656/how-to-use-clang-with-mingw-w64-headers-on-windows

    the correct thing to do, is this…

    clang -target i686-pc-windows-gnu test.c -otest.exe
    

    Or if you want 64bit output…

    clang -target x86_64-pc-windows-gnu test.c -otest.exe
    

    https://clang.llvm.org/docs/CrossCompilation.html

    Cross compilation issues
    In GCC world, every host/target combination has its own set of binaries, headers, libraries, etc. So, it’s usually simple to download a package with all files in, unzip to a directory and point the build system to that compiler, that will know about its location and find all it needs to when compiling your code.

    On the other hand, Clang/LLVM is natively a cross-compiler, meaning that one set of programs can compile to all targets by setting the -target option. That makes it a lot easier for programmers wishing to compile to different platforms and architectures, and for compiler developers that only have to maintain one build system, and for OS distributions, that need only one set of main packages.

    But, as is true to any cross-compiler, and given the complexity of different architectures, OS’s and options, it’s not always easy finding the headers, libraries or binutils to generate target specific code. So you’ll need special options to help Clang understand what target you’re compiling to, where your tools are, etc.

    Another problem is that compilers come with standard libraries only (like compiler-rt, libcxx, libgcc, libm, etc), so you’ll have to find and make available to the build system, every other library required to build your software, that is specific to your target. It’s not enough to have your host’s libraries installed.

    Finally, not all toolchains are the same, and consequently, not every Clang option will work magically. Some options, like --sysroot (which effectively changes the logical root for headers and libraries), assume all your binaries and libraries are in the same directory, which may not true when your cross-compiler was installed by the distribution’s package management. So, for each specific case, you may use more than one option, and in most cases, you’ll end up setting include paths (-I) and library paths (-L) manually.

    To sum up, different toolchains can:
    be host/target specific or more flexible
    be in a single directory, or spread out across your system
    have different sets of libraries and headers by default
    need special options, which your build system won’t be able to figure out by itself


    交叉汇编问题

    在GCC世界中,每个主机/目标组合都有自己的一组二进制文件、头文件、库等。因此,下载一个包含所有文件的包,解压到一个目录,并将构建系统指向该编译器,该编译器将知道其位置,并在编译代码时找到所有需要的文件。

    另一方面,Clang/LLVM本质上是一个交叉编译器,这意味着一组程序可以通过设置-target选项编译到所有目标。这使得希望编译到不同平台和体系结构的程序员、只需要维护一个构建系统的编译器开发人员以及只需要一组主软件包的操作系统发行版更容易。

    但是,与任何交叉编译器一样,考虑到不同体系结构、操作系统和选项的复杂性,查找头、库或binutil以生成特定于目标的代码并不总是那么容易。因此,您需要特殊的选项来帮助Clang了解编译的目标、工具的位置等。
    另一个问题是编译器只附带标准库(如编译器rt、libcxx、libgcc、libm等),因此您必须找到构建软件所需的每个其他库,这些库是特定于您的目标的,并提供给构建系统。仅安装主机的库是不够的。
    最后,并非所有的工具链都是相同的,因此,并非每个叮当声选项都能神奇地工作。有些选项,如–sysroot(它可以有效地更改头和库的逻辑根),假定所有二进制文件和库都在同一个目录中,这在发行版的包管理安装交叉编译器时可能不正确。因此,对于每个特定情况,您可以使用多个选项,在大多数情况下,您将手动设置include path(-I)和library path(-L)。
    总之,不同的工具链可以:
    特定于主机/目标或更灵活
    位于单个目录中,或分散在整个系统中
    默认情况下,具有不同的库和标题集
    需要特殊的选项,这是构建系统无法自行解决的

    展开全文
  • 重新配置好更新源後,再次打开“MSYS2 MinGW 64-bit”, 再执行一次pacman -Syu 这样更新就可以顺利结束了, msys2的安装也顺利结束了 二、安装clang 1、首先安装gcc pacman -S make gcc gdb 2、安装clang pacman -S ...

    一、安装msys2

    首先需要msys2的安装包,可以去官网下载安装包

    官网地址: http://www.msys2.org/
    本次下载的是 msys2-x86_64-20180531.exe

    注意:1.msys2不可以安装在FAT*分区
       2.msys2不能安装在win XP系统上

    1.双击msys2-x86_64-20180531.exe,并点击下一步选择安装文件夹

    路径要短,不能有空格,只能用ASCII字符,不能用单引号
    这里写图片描述
    然后下一步直到开始安装

    2.安装完成后点击完 成退出安装程序

    注意: 此处不要勾选"立即运行 MSYS2 64bit", 因为接下来要配置国内更新源
    这里写图片描述

    3.配置国内更新源

    这里选用的是中科大的源,也可以搜索其他的源,如阿里云,清华大学等的源

    修改"安装位置\etc\pacman.d"中的三个配置文件
    mirrorlist.msys
    mirrorlist.mingw32
    mirrorlist.mingw64

    3.1 在mirrorlist.msys中添加

    Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch/
    

    添加后的文件mirrorlist.msys中内容如下

    ##
    ## MSYS2 repository mirrorlist
    ##
    
    ## Primary
    ## msys2.org
    Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch/
    Server = http://repo.msys2.org/msys/$arch
    Server = https://downloads.sourceforge.net/project/msys2/REPOS/MSYS2/$arch
    Server = http://www2.futureware.at/~nickoe/msys2-mirror/msys/$arch/
    

    3.2 在mirrorlist.mingw32中添加

    Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686/
    

    添加后的文件mirrorlist.mingw32中内容如下

    ##
    ## 32-bit Mingw-w64 repository mirrorlist
    ##
    
    ## Primary
    ## msys2.org
    Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686/
    Server = http://repo.msys2.org/mingw/i686
    Server = https://downloads.sourceforge.net/project/msys2/REPOS/MINGW/i686
    Server = http://www2.futureware.at/~nickoe/msys2-mirror/mingw/i686
    

    3.3 在mirrorlist.mingw64中添加

    Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64/
    

    添加後的文件mirrorlist.mingw64中内容如下

    ##
    ## 64-bit Mingw-w64 repository mirrorlist
    ##
    
    ## Primary
    ## msys2.org
    Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64/
    Server = http://repo.msys2.org/mingw/x86_64
    Server = https://downloads.sourceforge.net/project/msys2/REPOS/MINGW/x86_64
    Server = http://www2.futureware.at/~nickoe/msys2-mirror/mingw/x86_64
    

    4 打开菜单中的“MSYS2 MinGW 64-bit”

    习惯了打开64位的图标,所以此处打开“MSYS2 MinGW 64-bit”,以后的使用也一直使用“MSYS2 MinGW 64-bit”就好了
    这里写图片描述

    打开后执行命令pacman -Syu更新系统核心和各种包等,如下面的截图
    这里写图片描述
    输入“Y”键开始更新
    注意: 更新时会遇到下图的警告,这时一定要点击右上角的×来关闭窗口
    这里写图片描述
    关闭窗口时会弹出一个对话框(如下图),点击OK就可以了
    这里写图片描述

    上面的更新没有结束,需要继续更新,
    继续更新之前要重新配置更新源,因为目录“安装位置\etc\pacman.d”中的三个配置文件mirrorlist.msys,mirrorlist.mingw32,mirrorlist.mingw64会由于上面的更新而被更新(这么说别扭吗),所以需要按第3步重新配置更新源.

    重新配置好更新源後,再次打开“MSYS2 MinGW 64-bit”,
    再执行一次pacman -Syu
    这里写图片描述
    这样更新就可以顺利结束了,
    msys2的安装也顺利结束了

     

    二、安装clang

    1、首先安装gcc

    pacman -S make gcc gdb

    2、安装clang

    pacman -S mingw64/mingw-w64-x86_64-make mingw64/mingw-w64-x86_64-gcc mingw64/mingw-w64-x86_64-gdb mingw64/mingw-w64-x86_64-clang

    三、在clion中配置(依次按照以下三步进行配置)

    展开全文
  • 我正在尝试使用Clang将C语言应用程序从Linux(64位)交叉编译为Windows(64位).我读了page on cross-compilation,这不太有帮助.作为一个简单的测试,我在test.c中有以下代码:#include int main(){puts("hello world");...
  • CLion是一款专为开发C及C++所设计的跨平台IDE。它是以IntelliJ为基础设计的,包含了许多智能功能来...有了 CMake 3.15,在 Windows 上用 GNU 风格的命令行使用 Clang 编译器成为可能。这也意味着可以用Mingw-w64工具
  • windows 安装clang

    2015-03-16 16:10:00
    为什么80%的码农都做不了架构师?>>>   http://llvm.org/releases/download.html#3.6.0 ...从pre-build binary下windows版的 转载于:https://my.oschina.net/lyyrj/blog/387546
  • WindowsClang环境的搭建

    万次阅读 多人点赞 2016-10-14 23:02:39
    Clang简介Clang是一个C语言、C++、Objective-C、C++语言的轻量级编译器。 相对于GCC优点是编译速度更快、编译产出更小、出错提示更友好。 尤其是在比较极端的情况下。...我这里下载的是Clang for Windows (64-bit
  • Clang+llvm windows运行环境配置

    万次阅读 2014-12-31 18:38:32
    Clang+llvm windows运行环境配置,只要添加几个环境变量即可。 PATH添加 编译器和LLVM+Clang Command Line Path 命令行运行路径。 至于C/C++ include search path 头文件搜索路径: 使用 MinGW 要设置:C_INCLUDE_...
  • 环境:windows7,64位 1、下载并安装llvm,安装包里除了llvm,也有clang: http://releases.llvm.org/5.0.0/LLVM-5.0.0-win64.exe 2、下载并安装mingw: https://sourceforge.net/projects/mingw-w64/ 安装...
  • llvm+clangwindows下有两种,一个是用mingw编译的,使用gcc的头文件和库。一个是用vc编译的,使用vc的头文件和库。 mingw版本的下载地址是: http://llvm.org/releases/3.4/LLVM-3.4-win32.exe 这是由官方...
  • 这种奇怪的组合大概只有我这种写前端的mac用户才会用的吧……参考资料:...首先我们要去下一个VScode:https://code.visualstudio.com/Download然后我们要去下一个LLVM/clang:http://releases.llvm....
  • 1. 下载 ...2. 安装 第二步选择 3. 测试 CMD: C:\Users\18463>where clang C:\Program Files\LLVM\bin\clang.exe C:\Users\18463>clang --version ...Target: x86_64-pc-windows-msvc Thread model:
  • windowsclang的安装与使用

    千次阅读 2015-12-21 14:14:00
    公司运维也不允许我去下载- -,然后就想能不能在windows环境下搞个gcc玩,然后我又知乎了一把,大意的意见是clang把gcc甩了好远,所以我就决定安装clang环境来学习一下,过程中还是遇了几个坑… -----------------.....
  • windows上安装clang教程

    万次阅读 2015-09-27 21:11:04
    clangwindows上的安装方法
  • Windowsclang-format的安装

    千次阅读 2020-11-05 11:44:42
    clang-format是代码格式化的工具,在Windows下的安装需要去官网https://llvm.org/builds/下载相应的版本 我下载的是最新的11.0.0版本,路径如下 之后选择binary下的win32版本下载 下载之后就可以进行安装了,...
  • win10下安装llvm和clang

    万次阅读 2018-05-19 17:24:00
    Windows 10环境下 VS2015已安装,Windows SDK已安装,cmake已安装 前两个没有安装的可以参考我的另一篇博客:https://blog.csdn.net/wgx571859177/article/details/80375215 cmake下载地址:...
  • VS Code 搭建 C/C++ 编译环境(clang

    千次阅读 2019-10-13 22:00:41
    参考文档:... 我的环境: 1. Win10, VS Code; 2. LLVM-clang(9.0.0),Target: x86_64-pc-windows-msvc,Thread model: posix 3. MinGW-w64(8.1.0),Target: x86_64-w64-mingw32,Threa...
  • 体验Clang对C语言的编译

    千次阅读 2019-10-28 03:29:16
    体验Clang对C语言的编译 使用Clang来分析如下的简单C语言的函数,文件名为 larger_number.c (这算不上是一个程序,只能算是一个函数模块) // larger_number.c int larger(int a, int b) { if(a <= b) return...
  • 可以使用GNUstep在Windows XP上寫Objective-C程式,但是Objective-C已經加了很多新東西,而GNUstep裡的gcc並不提供,所以,这个是GNUstep,再加上新一代的編譯器架構Clang與LLVM(這也是Apple在新版Xcode裡預設使用...
  • VsCode+Clang+MinGw64+OpenGL(glut)——64位环境搭建 一、写在前面 ...其次,MinGW(Minimalist GNUfor Windows),它实际上是将经典的开源 C语言 编译器 GCC 移植到了 Windows 平台下,并且包含了 Win32API ,因
  • LLVM/Clang on windows

    2015-03-07 14:37:56
    这是Hans Wennborg演讲是使用的一个PPT。该文档详细谈多了LLVM的众多突出特点及对windows系统的显著支持。
  • windows clang 编译Qt

    2020-08-09 10:07:39
    VS2019:需要安装win10 SDK,也有自带的clang,没安装; 开始: 1、打开 x64 Native Tools Command Prompt 2、configure.bat -release -confirm-license -opensource -prefix "D:\Library\Qt5" -platform win32...
  • LLVM-clang之win10安装

    千次阅读 2019-10-18 11:13:12
    说明:网上大部分说明都是LLVM/clang需要与VS2015+一起使用,但是最讨厌就是VS,MATLAB这种大软件,仗着功能多,随便写一个小脚本都要运行一下大软件,为此我所有的程序都是使用命令行编译,此次也不例外,为此必须在命令行...
  • 1. 下载clang版本 下载地址:https://github.com/llvm/llvm-project/releases/tag/llvmorg-12.0.0 我选择的是LLVM-12.0.0-win64.exe, 下载后安装,添加路径到环境变量,测试是否安装成功: 2. Qcreator配置clang Qt...
  • win10下VSCode+CMake+Clang+GCC环境搭建 win10下VSCode+CMake+Clang+GCC环境搭建 安装软件 VSCode插件安装 新建文件夹, 开始撸代码 main.cpp CMakeList.txt 配置 c_cpp_properties.json 配置调试...
  • wclang:在LinuxUnix上使用clang轻松交叉编译Windows源代码
  • CLang官网 https://releases.llvm.org/download.html http://clang.llvm.org/docs/ClangFormatStyleOptions.html

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,992
精华内容 4,396
关键字:

clangwindows

友情链接: cuda.rar