2012-03-10 131 views
2

無法通過Eclipse編譯LLVM-Clang。只需在CDT默認的hello world示例中進行測試即可。它給了以下錯誤:LLVM-Clang for Mac OS X上的Eclipse CDT

clang++ -O0 -emit-llvm -g3 -Wall -c -fmessage-length=0 -o src/Test.bc ../src/Test.cpp
llvm-ld -v -native -o Test src/Test.bc
Internal Builder: Cannot run program "llvm-ld": Unknown reason
Error: Program "llvm-ld" is not found in PATH

PATH=[/usr/bin:/bin:/usr/sbin:/sbin]
Build error occurred, build is stopped

我不知道爲什麼它抱怨路徑,因爲我可以調用鐺++和LLVM-LD通過終端就好了命令。事實上,當我通過終端鍵入上述內容時,我得到以下錯誤。

clang++ -O0 -emit-llvm -g3 -Wall -c -fmessage-length=0 -o src/Test.bc ../src/Test.cpp
llvm-ld -v -native -o Test Debug/src/Test.bc
Linking bitcode file 'Debug/src/Test.bc'
llvm-ld: error: Cannot load file 'Debug/src/Test.bc': Bitcode file 'Debug/src/Test.bc' could not be loaded: unknown type in type table

那麼它可能不是Eclipse的問題?從來沒有很多的命令行編譯人員,所以我的知識是有限的。

我正在運行獅子。通過XCode命令行工具安裝clang。通過Macports安裝LLVM。必須手動設置LLVM的路徑。

鏘-v說3.1
LLVM是3.0

+0

Eclipse是否使用與shell相同的路徑?錯誤提示'PATH = [/ usr/bin:/ bin:/ usr/sbin:/ sbin]',但llvm-ld可能位於/ opt/local/bin之類的地方。 – matt 2012-03-10 19:47:18

+0

我在哪裏可以找到Eclipse正在使用的路徑? – 2012-03-10 20:56:06

+0

對不起,自從我使用Eclipse之後已經有一段時間了,然後它只是Java - 我沒有使用過CDT。您必須查看Eclipse的首選項並查看是否可以找到它。 – matt 2012-03-10 21:10:33

回答

0

我面臨着類似的問題並提出在Eclipse偏好修改 - > C/C++ - >構建 - >環境。選擇'選擇...','路徑','編輯...'並添加您的llvm-ld可執行文件的位置。該項目然後爲我正確地建立。

+0

也試過了。沒有工作。考慮到這仍然無法在命令行中工作,我認爲其他事情正在Eclipse之外進行。我放棄了它並返回到gcc。 – 2012-03-14 18:31:20

6

在項目屬性> C/C++ Build> Settings中,選擇LLVM C++鏈接器,然後將llvm-ld命令替換爲clang ++(XCode命令行工具沒有llvm-ld鏈接器...)讓clang ++找出結果調用鏈接器)。

我已經使用llvm4cdt Eclipse plugin對它進行了測試。