2012-05-14 66 views
3

我在XCode中創建了一個新項目(使用模板「STL C++庫」),並且已經制作了一個測試功能void hello();,它可以打印到控制檯。如何在C++ xcode項目中使用動態共享庫?

它編譯得很好,我可以導出一個dylib文件。

我想不出的是如何創建一個項目,然後鏈接到這個文件,並可以調用hello()方法。

任何意見將不勝感激。

Alex。

回答

3

創建另一個Xcode項目,例如應用程序項目。在你的例子中,你可以創建一個使用C++的命令行工具項目。

創建項目後,將dylib添加到目標的鏈接二進制庫生成階段。在Xcode 4中,從項目導航器中選擇項目以打開項目編輯器。從項目編輯器左側的目標列表中選擇目標。點擊編輯器頂部的Build Phases按鈕。點擊Link Binary with Libraries構建階段旁邊的顯示三角形。點擊+按鈕添加你的圖書館。

當您完成將dylib添加到您的項目中時,在您的代碼中包含庫的頭文件,並且您應該能夠調用hello()函數。您可能還需要將庫搜索路徑添加到「庫搜索路徑」構建設置以使用庫。

+0

謝謝。我確實設法解決了這個問題(爲了方便起見,我實際上在同一個項目中做了一個新的目標來做同樣的事情),但對於任何仍然不確定的人來說,這是一個很好的答案。 –

+0

我不明白這個答案。在Windows中(例如),我可以使用LoadLibrary在運行時選擇/加載庫,然後我可以請求我想調用的各種函數的地址。上面介紹的內容似乎更多地使用「共享」庫,以便每個可執行文件不必在庫代碼中靜態鏈接。 – David

+0

@David再次閱讀問題的標題。它提到使用動態共享庫,所以你不應該感到驚訝,我的答案涵蓋了使用動態共享庫。 –

相關問題