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中這串神秘代碼的含義在這里也不加以深究,待空閑時可能會進一步進行探究。

 

 

 

 

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM