什麼是devel包像 「libgtk + -devel」 或 「的python-devel的」 等實用工具?他們是否包含圖書館的來源?它與libgtk +等非devel軟件包有什麼不同?什麼是* -devel包?
回答
*-devel
軟件包(通常在基於Debian的發行版中稱爲*-dev
)通常是針對給定庫編譯代碼所需的所有文件。
對於運行使用庫libfoo
僅actualy共享庫文件的應用程序(*.so.*
,例如libfoo.so.1.0
)需要(加上可能的一些數據文件和一些特定於版本的符號鏈接)。
當你真正想編譯使用該庫則需要在頭文件(*.h
,例如foo.h
),描述應用程序的接口,以及一個版本少的符號鏈接到共享庫中的C應用程序(*.so
,例如libfoo.so
- >libfoo.so.1.0
)。這些通常捆綁在*-devel
包中。
有時*-devel
包還包括萬一庫靜態編譯版本(*.a
,例如libfoo.a
)你想建立一個不依賴於動態庫都完整的獨立的應用程序。其他語言(如Java,Python,...)使用不同的方式記錄庫的API(有效地在實際庫中包含所有必要的信息),因此通常不需要單獨的*-devel
程序包(除了可能用於文檔和其他工具)。
差不多。 '.so'文件位於-devel包中;正常的共享庫是由'.so。*'進行的,因爲它包含一個SONAME。 '.so'文件被鏈接器使用,'.so。*'庫在運行時使用。 – 2010-03-02 04:48:59
謝謝,我在文中加入了更正。 – 2010-03-02 07:03:37
它們通常包含必要的頭文件和庫。例如,Python-devel的提供,如果您想嵌入在自己的應用程序的Python解釋器,你需要Python的頭文件和庫。還包括一些額外的工具和文檔(例如開發人員手冊或代碼示例)。
- 1. 我應該爲'pcre-devel'安裝什麼軟件包?
- 2. 什麼決定了Devel的LEN值:: Peek
- 3. Perl的Devel :: Cover輸出中的列是什麼意思?
- 4. 安裝庫時,-devel的含義是什麼?
- 5. 在Devel :: CoverReport :: DB中.12和.13格式的含義是什麼?
- 6. 什麼是Perl的Devel :: DProf中的「外部堆棧」?
- 7. Windows.System.Launcher是什麼包?
- 8. 什麼是「肥包」?
- 9. 如何在安裝httpd-devel時解決依賴包問題apr-devel apr-util-devel yum在centos上5.6
- 10. 什麼是包裝尺寸?
- 11. 包的目的是什麼
- 12. 什麼是dnu包裝?
- 13. com.sun包內是什麼?
- 14. JPCAP的包類是什麼?
- 15. 什麼是System.Web.Hosting的Nuget包
- 16. 什麼是包描述符?
- 17. 什麼是包括用C
- 18. JPA 2.0:什麼是javax.validation。*包?
- 19. 什麼是Node.js的包
- 20. 什麼是TinyMCE jQuery包?
- 21. Android中的包是什麼?
- 22. 什麼是meanio中的包
- 23. 什麼是OEM包裝?
- 24. 什麼是Android GSF包?
- 25. 什麼是NLME包相關
- 26. 什麼是addressbook_pb2的包
- 27. 什麼是「#包括‘myfile.php’做
- 28. OCL中的*包*是什麼?
- 29. 如何安裝cmake libaio-devel libffi-devel glib2 glib2-devel
- 30. homebrew node.js devel
不值得打開另一個答案,但除了現有的答案,我要強調的是,包裝商試圖把在非-devel包,如'libgtk +'所需的佔地面積最小運行(而不是「發展」) gtk +程序。這意味着只有動態庫和配置文件。其他一切都在補充的'-devel'包中。 – 2010-03-02 04:33:31
謝謝大家。 – Variance 2010-03-02 17:25:06