2012-01-21 51 views
2

我想建立一個鏘源來源翻譯插件cuda語言。不幸的是我不能建立鐺插件本身。我已經嘗試了谷歌建議的方法來複制和粘貼PrintFunctionNames和建立相同的和http://getoffmylawnentertainment.com/blog/2011/10/01/clang-plugin-development-tutorial/網站建議的另一個沒有爲我工作。 使用google方法構建時,我得到:不能建立鐺插件

../../../../Makefile.common:61:../../../../Makefile.config:No such file或目錄../../../../Makefile.common:69:/Makefile.rules:沒有這樣的文件或目錄make:*沒有規則來製作目標`/Makefile.rules'。停止。 這並沒有爲我How to build clang/examples/PrintFunctionNames? 時使用cmake構建我收到此錯誤工作:

玩具@ Ubuntu的:〜/ DEV-LIB /例子/建造$使 打印機/ CMakeFiles/PrintFunctionNames.dir/flags.make :6:*命令在第一個目標之前開始。停止。 化妝[1]:* [打印機/ CMakeFiles/PrintFunctionNames.dir /全部]錯誤2 化妝:*** [全部]錯誤2

我使用Ubuntu 10.10和cmake的2.8.1建立鐺插入。 鏘版本:3.1 請幫我建立鐺插件... 謝謝

回答

0

這個錯誤來了,因爲你已經清楚地複製的CMakeLists.txt的內容。特別是LLVM_LIBS和CLANG_LIBS部分。 你必須做的就是簡單地把這樣

set(CLANG_LIBS \ 
libclang \ 
clangFrontend \ 
.. \ 
... 
) 

每一行後反斜線或者你可以把所有的庫名到一個單一的線,無論哪個適合你。 希望這有助於

0

第一步總是很難。在github上創建了一個玩具repo,它確定了鐺插件的構建系統問題。簽出'空'標籤。

2

與Clang鏈接的構建程序可能會非常棘手,尤其是如果您想要「脫離源代碼」 - 即在您自己的源代碼樹中,而不是Clang的一部分。

我在維護一個名爲llvm-clang-samples的Github repo,它提供了LLVM和Clang鏈接的示例,並且有一個Clang插件示例。此存儲庫嘗試跟上頂級的LLVM & Clang,併爲早期發佈的版本提供分支。