在windows上用mingw w64編譯配置llvm
以下除了軟體版本不同,全參照http://blog.csdn.net/happywjh666/article/details/51415723內容。
下載軟體: 1.winrar 5.4: http://rarlab.com/rar/wrar540sc.exe 2.llvm原始碼:http://llvm.org/releases/3.8.1/llvm-3.8.1.src.tar.xz 3.clang原始碼:http://llvm.org/releases/3.8.1/cfe-3.8.1.src.tar.xz (http://releases.llvm.org/download.html上有其他版本和其他元件原始碼) 4.cmake:https://cmake.org/files/v3.6/cmake-3.6.3-win32-x86.zip (https://cmake.org/download/上有其他版本) 5.mingw 6.2.0:https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/6.2.0/threads-posix/dwarf/i686-6.2.0-release-posix-dwarf-rt_v5-rev1.7z (https://sourceforge.net/projects/mingw-w64/files/上有其他版本) 可能還需要安裝python。(https://www.python.org/) 安裝winrar,把所有軟體包都解壓到d:\。 忽略 D:\cfe-3.8.1.src.tar.xz: 無法建立符號連結 D:\cfe-3.8.1.src\test\Driver\Inputs\multilib_32bit_linux_tree\usr\bin\as ..錯誤 在windows開始選單/執行輸入cmd開啟命令列視窗,輸入以下命令: set path=D:\mingw32\bin;%path% set lib=D:\mingw32\lib;%lib% 驗證gcc版本 g++ --version 顯示 g++ (i686-posix-dwarf-rev1, Built by MinGW-W64 project) 6.2.0 D:\>set path=%path%;D:\cmake-3.6.3-win32-x86\bin --編譯和安裝llvm-3.8.1 D:\>cd D:\llvm-3.8.1.src D:\llvm-3.8.1.src>md build D:\llvm-3.8.1.src>cd build D:\llvm-3.8.1.src\build>md \llvmtest D:\llvm-3.8.1.src\build>cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=D:\LLVMtest .. ... -- Generating done -- Build files have been written to: D:/llvm-3.8.1.src/build D:\llvm-3.8.1.src\build>mingw32-make.exe (這一步在我的筆記本上大概1小時) ... [100%] Linking CXX executable ..\..\bin\yaml2obj.exe [100%] Built target yaml2obj D:\llvm-3.8.1.src\build>mingw32-make install ... -- Installing: D:/llvmtest/share/llvm/cmake/./LLVMProcessSources.cmake -- Installing: D:/llvmtest/share/llvm/cmake/./TableGen.cmake --編譯和安裝clang-3.8.1 D:\>cd D:\cfe-3.8.1.src D:\cfe-3.8.1.src>md build D:\cfe-3.8.1.src>cd build D:\cfe-3.8.1.src\build>cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=D:\LLVMtest .. ... -- Generating done -- Build files have been written to: D:/cfe-3.8.1.src/build D:\cfe-3.8.1.src\build>mingw32-make.exe (這一步在我的筆記本上大概1小時) ... [100%] Generating ../../share/scan-view/bugcatcher.ico [100%] Built target scan-view D:\cfe-3.8.1.src\build>mingw32-make install ... -- Installing: D:/llvmtest/share/scan-view/GetRadarVersion.scpt -- Installing: D:/llvmtest/share/scan-view/bugcatcher.ico D:\>set path=%path%;d:\llvmtest\bin D:\>set include=%include%;d:\llvmtest\include D:\>set lib=%lib%;d:\llvmtest\lib D:\>clang++ -v clang version 3.8.1 (tags/RELEASE_381/final) Target: i686-pc-windows-gnu Thread model: posix InstalledDir: d:\llvmtest\bin D:\>clang++ p586_4a.cpp p586_4a.cpp:63:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ 1 warning generated. 編譯成功 最後build的目錄結構 D:\LLVMTEST ├─bin ├─include │ ├─clang │ │ ├─Analysis │ │ │ ├─Analyses │ │ │ ├─DomainSpecific │ │ │ ├─FlowSensitive │ │ │ └─Support │ │ ├─ARCMigrate │ │ ├─AST │ │ ├─ASTMatchers │ │ │ └─Dynamic │ │ ├─Basic │ │ ├─CodeGen │ │ ├─Config │ │ ├─Driver │ │ ├─Edit │ │ ├─Format │ │ ├─Frontend │ │ ├─FrontendTool │ │ ├─Index │ │ ├─Lex │ │ ├─Parse │ │ ├─Rewrite │ │ │ ├─Core │ │ │ └─Frontend │ │ ├─Sema │ │ ├─Serialization │ │ ├─StaticAnalyzer │ │ │ ├─Checkers │ │ │ ├─Core │ │ │ │ ├─BugReporter │ │ │ │ └─PathSensitive │ │ │ └─Frontend │ │ └─Tooling │ │ └─Core │ ├─clang-c │ ├─llvm │ │ ├─ADT │ │ ├─Analysis │ │ ├─AsmParser │ │ ├─Bitcode │ │ ├─CodeGen │ │ │ ├─MIRParser │ │ │ └─PBQP │ │ ├─Config │ │ ├─DebugInfo │ │ │ ├─CodeView │ │ │ ├─DWARF │ │ │ ├─PDB │ │ │ │ └─DIA │ │ │ └─Symbolize │ │ ├─ExecutionEngine │ │ │ └─Orc │ │ ├─IR │ │ ├─IRReader │ │ ├─LibDriver │ │ ├─LineEditor │ │ ├─Linker │ │ ├─LTO │ │ ├─MC │ │ │ ├─MCAnalysis │ │ │ └─MCParser │ │ ├─Object │ │ ├─Option │ │ ├─Passes │ │ ├─ProfileData │ │ ├─Support │ │ │ └─ELFRelocs │ │ ├─TableGen │ │ ├─Target │ │ └─Transforms │ │ ├─InstCombine │ │ ├─IPO │ │ ├─Scalar │ │ └─Utils │ └─llvm-c │ └─Transforms ├─lib │ └─clang │ └─3.8.1 │ └─include ├─libexec ├─msbuild-bin ├─share │ ├─clang │ │ └─cmake │ ├─llvm │ │ └─cmake │ ├─man │ │ └─man1 │ ├─scan-build │ └─scan-view └─tools └─msbuild ├─Win32 └─x64
相關文章
- 在windows上設定llvm+mingw環境變數WindowsLVM變數
- windows下用mingw編譯linux專案Windows編譯Linux
- llvm和mingw-w64配合編譯的奇怪問題LVM編譯
- 用mingw編譯tcc原始碼編譯原始碼
- 在windows上構建LLVM 7.0.1WindowsLVM
- llvm 編譯LVM編譯
- 在windows上配置vs code編譯除錯c/c++Windows編譯除錯C++
- CLion 配置 C C++ 編譯環境(MinGW)C++編譯
- 用mingw編譯lua5.3原始碼編譯原始碼
- glog-0.3.5在Windows系統上編譯及應用Windows編譯
- Qt for Windows:Qt 5.8.0 MinGW 靜態編譯版本(包含OpenSSL)QTWindows編譯
- 深入剖析 iOS 編譯 Clang / LLVMiOS編譯LVM
- windows10 qt5 mingw32編譯cryptopp563WindowsQT編譯
- 在Windows下編譯WebRTCWindows編譯Web
- VScode編譯opencv(Cmake + MinGW)VSCode編譯OpenCV
- MinGW環境編譯WonderTrader攻略編譯
- windows上使用clang編譯程式Windows編譯
- 如何在Windows上編譯Docker?Windows編譯Docker
- windows下使用mingw和msvc靜態編譯Qt5.15.xxWindows編譯QT
- windows 下使用 mingw編譯器 除錯時 無法跟進原始碼Windows編譯除錯原始碼
- 在CentOS 7上編譯QtumCentOS編譯QT
- Qt開發筆記:OpenSSL庫介紹、windows上mingw32版本的OpenSSL編譯模組化QT筆記Windows編譯
- WPA Supplicant 在Windows下的編譯Windows編譯
- Windows系統使用minGW+msys 編譯ffmpeg 0.5的全過程詳述Windows編譯
- Qt 中有兩種方式編譯MinGW和MSVCQT編譯
- mingw下編譯zlib quazip動態庫編譯
- 在Windows下用ant編譯Android應用生成apk安裝包Windows編譯AndroidAPK
- Matlab安裝MinGW-w64編譯器Matlab編譯
- PHPUnit3.4.10在windows上配置PHPWindows
- (Xcode) 編譯器小白筆記 – LLVM前端ClangXCode編譯筆記LVM前端
- (Xcode) 編譯器小白筆記 - LLVM前端ClangXCode編譯筆記LVM前端
- 在Mac上用自己編譯出的DNX執行.NET程式Mac編譯
- PyTorch在64位Windows下的編譯PyTorchWindows編譯
- LLVM編譯器中的內建(built-in)函式LVM編譯UI函式
- LLVM之父分享發明編譯器的經驗 - hpcwireLVM編譯
- 配置QT Mingw & opencvQTOpenCV
- 在Ubuntu X64上編譯HadoopUbuntu編譯Hadoop
- 在windows下匯入react專案並且打包編譯後部署到nginx上WindowsReact編譯Nginx