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
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給 出原文連接,否則保留追究法律責任的權利。