2016-10-28 55 views
3

我使用LLVM Nightly packages link中給出的以下命令安裝了llvmclang 3.9以及所有其他軟件包。apt-get安裝後未找到LLVM頭部

sudo apt-get install clang-3.9 clang-3.9-doc llvm-3.9 llvm-3.9-dev llvm-3.9-doc llvm-3.9-examples llvm-3.9-runtime clang-format-3.9 python-clang-3.9 libclang-common-3.9-dev libclang-3.9-dev libclang1-3.9 libclang1-3.9-dbg libllvm-3.9-ocaml-dev libllvm3.9 libllvm3.9-dbg lldb-3.9 lldb-3.9-dev liblldb-3.9-dbg 

然後我試圖編譯並根據this tutorial運行示例詞法分析器和解析器,用於萬花筒語言。

但是,我不能編譯給定的樣本程序,因爲我得到的錯誤:

clang++-3.9 -g -O3 toy.cpp 
toy.cpp:1:10: fatal error: 'llvm/ADT/STLExtras.h' file not found 
#include "llvm/ADT/STLExtras.h" 
     ^
1 error generated. 

我認爲這個錯誤是因爲LLVM安裝爲llvm-3.9,因此所有的文件都安裝目錄以*-3.9結尾。我怎樣才能解決這個錯誤,而不必刪除安裝,並從LLVM源手動構建安裝?

+0

你可以嘗試做一個鏈接:'LN -s LLVM-39 llvm' – Amadeus

+0

是的,我試過了。我認爲這是因爲以'-3.9'結尾的llvm目錄,但它沒有工作 – anirudh

+0

你確定已經安裝了'llvm-3.9-dev'嗎?您可以使用以下命令查看其內容:'dpkg -l llvm-3.9-dev | grep -i STLExtras' – Amadeus

回答

6

這看起來像教程中的錯誤 - toy.cpp中的代碼以前是獨立的,但現在依賴於LLVM標頭(這是a recent change)。

您可以使用the command provided in chapter 3打造相反,即:

clang++ -g -O3 toy.cpp `llvm-config --cxxflags --ldflags --system-libs --libs core` -o toy 
+0

這工作..謝謝你的答案.. – anirudh