JohnIdol答案的替代答案。特別是,可以在案件工作的方法,你不想改變<OpenCL/cl.h>
參考<cl.h>
首先,我來到了現場與正是考慮這個問題(如何將蘋果的框架'在Eclipse CDT(C/C++)項目中),我非常欣賞這個討論 - 它給了我一個起點。
John的答案很酷,但確實涉及到如何調用包含文件(例如,代碼中的<OpenCL/cl.h>
變爲<cl.h>
)。然後他在eclipse屬性中爲他需要的每個Header目錄做一個直接的include-path引用。
在我的情況下,我已經檢查了GNU步步高來玩弄源代碼。此代碼編譯(有一些器官功能障礙綜合徵LDFLAGS和CPPFLAGS做autogen.sh
之前)上使用-framework
選項的我猜標準蘋果的做法OS X的CLI環境,並與包括像 #include <CoreAudio/CoreAudioTypes.h>
文件的引用我可能永遠實際上承諾任何東西,但我不想開始使用標準方法來編譯已經編譯好的代碼中的#includes。所以我做了以下工作:
- 在我的工作空間gnubg中創建了一個名爲「Frameworks」的新目錄。
在該目錄中,創建頭文件目錄的軟鏈接。
ln -s /System/Library/Frameworks/CoreAudio.framework/Headers CoreAudio
在gnubg項目屬性> C/C++常規>路徑和符號,加入/gnubg/Frameworks
到包含目錄(作爲工作空間路徑)。無論我製作的軟鏈接數量多少,我只需要做一次。
這樣我根本不必更改代碼,Eclipse很開心,CLI編譯也很開心。
我注意到,如果在框架中使用某些目錄(如CoreServices.framework
),則會出現輕微的皺摺。在這些情況下,Frameworks子目錄和某些包含文件中的相對路徑引用(例如,..
)與其他包含文件相關。所以在這種情況下,我不得不修改一下程序。基本上,我不得不在Frameworks中爲CoreServices.framework
添加一個額外的子目錄,然後在該目錄中我必須添加兩個軟鏈接。一個用於CoreServices(用於Headers),另一個用於Framework子目錄。
lrwxr-xr-x 1 dhansen staff 57B Jul 27 02:06 CoreServices -> /System/Library/Frameworks/CoreServices.framework/Headers
lrwxr-xr-x 1 dhansen staff 60B Jul 27 02:05 Frameworks -> /System/Library/Frameworks/CoreServices.framework/Frameworks
然後我不得不添加/gnubg/Frameworks/CoreServices.framework
到包括路徑(上面的步驟3)。
就是這樣。不再包含文件問題。
您可以編輯的工具鏈,並添加框架頭和lib目錄? – trojanfoe
我是一個總的noob與eclipse cdt - 我該怎麼做?我在proj屬性中看到了一個工具鏈編輯器,但是我看不到如何從那裏添加那些東西 – JohnIdol
嘗試項目屬性> C/C++常規>路徑和符號。 – trojanfoe