項目中如何添加CorePlot開源框架(重溫Xcode鏈接靜態庫)


CorePlot是一個開源的數據報表框架庫,且是個靜態庫(iphone協議不允許連接動態庫)。因此在項目中使用CorePlot要進行必要的一些設置以使Xcode正確鏈接這個靜態庫。(示例項目:PieChart Sample)。
第一種方式:Dependent Project Install 

1. 首先將core-plot/framework文件夾下的CorePlot-CocoaTouch.xcodeproj工程文件拖放進本例的PieChart Sample項目中,其間確認沒有勾選"copy items to destination group's folder"選項。一旦添加了這個CorePlot工程文件,則在iPhone項目中作為二進制形式是可用的

2. 將CorePlot項目中Products文件夾下的libCorePlot-CocoaTouch.a這個靜態庫文件拖拉進示例項目的Targets的“Build Phases”選卡下的“Link Binary With Libraries”節點中。(注意:是Products文件夾下的才是庫文件,圖標是個小房子,之前就因為拖進了那個圖標是頁面的同名文件最后編譯出現報“Apple Mach-O Linker(Id)Error錯誤

 

 3. 在示例項目(PieChart Sample)的Target的“Build Phases”選卡的“Target Dependencies”節點下添加CorePlot-CocoaTouch。(這將確保Core Plot庫的建立在我們編譯自己的項目時)。

4.  由於我們是以靜態鏈接庫方式導入Core Plot,在我們的示例項目中Xcode需要知道所請求頭文件的定位。在源代碼中我們將導入Core Plot文件“CorePlot-CocoaTouch.h”。因此對於添加頭文件定位搜索路徑,我們需要做這步操作:定位示例項目的Targets的Build Settings選卡下搜索“Header Search Paths”設置項。

 雙擊該設置項,在彈出窗口中添加core-plot/framework文件夾的全路徑,並確保選中“recursive”選項框。

6. 另外頭文件路徑也需要設置一組連接標志,即“Other Linker Flags”設置項。同樣是搜索定位到,然后雙擊添加這兩個標志-ObjC-all_load。(注:Xcode4.2中-all_load標志值可不要。)

7. 最后由於Core Plot用到了QuartzCore框架,所以在此示例項目中也要添加這個鏈接庫。

至此,我們就完成了在項目中如何導入CorePlot靜態庫的所有操作步驟,編譯運行項目無錯。

第二種:Static Library Install
1. 復制CorePlotHeaders目錄到你的Xcode項目中。

2. 復制CorePlot library到Xcode項目中。

3. 打開應用項目的Targets-Build Settings選卡項,為Other Linker Flags加入-ObjC值(而-all_load請求鏈接標志只在Xcode4.2下不需要使用)。

4. 添加QuartzCore圖形框架到項目中。

5. 改變你項目中編譯設置的C/C++ Compiler為LLVM GCC4.2或者LLVM1.6。


作者:張智清
出處: http://www.cnblogs.com/lovecode/archive/2012/02/11/2346389.html
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給 出原文連接,否則保留追究法律責任的權利。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM