clang无法编译 出现无法找到头文件的错误

  由于工作中需要对编译器有一定了解 下载了几款主流的编译器:GCC,MSVC,clang。

  .在ubuntu下安装GCC较为容易,但对于我这样的linux新手来说终端命令较为复杂,下面简单介绍下在ubuntu下编辑c程序代码,并用GCC编译的具体过程。

    1.ctrl+alt+t  调出terminal终端的快捷方式

    

    2.touch+文件名.c  touch是ubuntu中创建文件的终端命令 默认会创建在/home/user的目录下,进入终端时路径便是这个路径。可以用ls的终端命令查看当前路径下所有的文件

    

    

    3.gedit+文件名.c  gedit是ubuntu中的编辑器 这个命令会打开编辑器,在这个编辑器中可以编写c程序代码,记得保存(没保存时文件名前会有个*号)。

     

    4.程序书写完成后在终端输入gcc+文件名.c  GCC编译器会编译文件,并在当前路径下在生成一个a.out文件

    5.输入./a.out运行程序  出来的结果就是程序的结果(注意:./a.out前有一点)

    

    

    

   .GCC不能直接安装在windows系统中,需要MinGw之类的软件。由于工作中不太多涉及这方面,更深入的知识就不深入探究了,这里列出几个概念,留待之后有空去细细探究。

    1.Unix-like 系统  2.MinGw和Cygwin  3.clang和MinGw的关系  4.vs2017用clang来编译 ...

    

    下载地址:

    http://releases.llvm.org/download.html

    

   我下载的是6.0.1

   下载安装后尝试编译出现如标题所示的错误

   最终找到的解决方案链接如下:https://blog.csdn.net/5hongbing/article/details/79815969

      

   Clang doesn't ship with its own complete toolchain.  It always integrates with whatever standard C/C++ libs and headers the nativeplatform uses.

     On Windows, there are twotoolchains worth mentioning: the Visual C++ toolchain, and theMingw toolchain.

      If you want to build using make, etc, then you probably want to install mingw.Then you can build with something like "clang--target=i686-pc-mingw32" or "clang--target=x86_64-pc-mingw32"and it should pick the rightheaders for you.

   简单来说就是clang没有自己的工具链,需要借用本地平台使用的库和头文件,而在windows平台上最常用的就是Visual C++和MingW,这里我用的是MingW,在安装完成后,在cmd中输入clang--target=i686-pc-mingw32或者clang--target

   =x86_64-pc-mingw32就能成功完成编译了。

      

   下面贴出的是我写的main.cpp代码:

      

   对Visual C++平台的命令没有找到 所以暂时不加以研究,同样列为待研究的内容。同时对cmd中这串神秘代码的含义在这里也不加以深究,待空闲时可能会进一步进行探究。

 

 

 

 

 

  

posted @ 2018-08-30 13:12  Amber-Tang  阅读(6312)  评论(0编辑  收藏  举报