2009-07-31 93 views
8

我需要爲我們的客戶創建我們的圖書館的Mac版本。我不熟悉Mac上的動態庫,但從我的理解,我有2個選項:.dylib或框架。什麼是最好的選擇?爲什麼?在mac上創建.dll:.dylib或框架?

一些相關的問題:

  • 如果我理解正確,名爲.dylib 已經被安裝在stnadard UNIX目錄如/ usr/lib目錄,等等。因此使用名爲.dylib應的一個我的客戶的安裝程序要複雜得多,因爲他們可能需要請求在系統文件夾中寫入某些內容的權限?
  • 框架可以是私人的,並嵌入到我的客戶捆綁中?所以沒有人可以看到/使用它們?

任何建設性的批評/意見/想法更受歡迎。提前致謝。

亞歷

+0

您是否正在查看拖放式安裝,或提供處理所有內容的安裝程序應用程序(.pkg)?如果是後者,那麼權限不應該成爲問題,因爲幾乎每個我已經運行的安裝程序都要求提供管理員密碼(從而獲得管理員權限)。 – 2009-07-31 13:59:34

回答

8

.dylib類似於.so在Linux上。

框架基本上只是OSX分發庫和頭文件的方式。它們是用於庫分發的Application Bundle等效項。

隨着如果你想確保你應該使用靜態庫.a文件),並讓你的客戶靜態它們鏈接到他們的應用程序的其他人不使用它們任何一種方法。

否則,Frameworks和.dylib之間沒有太大的區別,除了先前的更適合OSX開發人員。

要麼可以嵌入客戶應用程序包內,otool/install_name_tool都可以處理它們。

+1

你也可以在OS X上使用`.so`嗎?無論如何,我都看過它。 – mk12 2010-01-03 23:07:50