什麼是libtool的.la
文件?它們如何與共享對象一起使用?什麼是libtool的.la文件?
回答
它是一個文本文件,包含庫的描述。
它允許libtool
創建與平臺無關的名稱。
例如,libfoo
去:
在Linux下:
/lib/libfoo.so # Symlink to shared object
/lib/libfoo.so.1 # Symlink to shared object
/lib/libfoo.so.1.0.1 # Shared object
/lib/libfoo.a # Static library
/lib/libfoo.la # 'libtool' library
在Cygwin:
/lib/libfoo.dll.a # Import library
/lib/libfoo.a # Static library
/lib/libfoo.la # libtool library
/bin/cygfoo_1.dll # DLL
在Windows下的MinGW:
/lib/libfoo.dll.a # Import library
/lib/libfoo.a # Static library
/lib/libfoo.la # 'libtool' library
/bin/foo_1.dll # DLL
所以libfoo.la
是平臺之間保留的唯一文件通過libtool
允許理解與發生了什麼:
- 庫的依賴
- 實際文件名
- 庫版本和修訂
不依賴在特定的平臺上實現圖書館。
所以如何將.la文件轉換爲平臺特定的共享庫文件,如libfoo.la - > libfoo.so。* – theactiveactor 2009-12-31 15:39:31
您可以' t libfoo.la僅保存元信息,即在libfoo.la(文本文件)中,你應該在哪裏找到libfoo.so.xyz – Artyom 2009-12-31 20:48:49
是否意味着爲了生成.la文件,我需要使用libtool(例如automake )?可以依靠'libtool'鏈接目標文件(http://www.gnu.org/software/libtool/manual/html_node/Using-Automake.html),但如果我想分發一個沒有.la的庫,這意味着使用Cygwin或mingw連接它會非常困難? – 2010-06-01 14:22:21
根據http://blog.flameeyes.eu/2008/04/14/what-about-those-la-files,他們需要處理依賴關係。但是,使用pkg配置可能是一個更好的選擇:
在一個完美的世界裏,每一個靜態庫需要依賴會對pkg配置自己的.PC文件,每包試圖靜態鏈接到該庫將使用pkg-config --static來獲取庫鏈接。
我找到很好的解釋有關.la這裏文件 http://openbooks.sourceforge.net/books/wga/dealing-with-libraries.html
摘要(我的理解方式):因爲有內部靜態和動態庫libtool的交易(通過--diable共享或--disable它會在它構建的庫文件上創建一個包裝器。它們在libtool支持的環境中被視爲二進制庫文件。
- 1. 靜態鏈接libtool,不修改.la文件中的dependency_libs
- 2. 爲什麼libtool尋找.lib文件而不是.a文件?
- 3. libtool:將la轉換/提取爲
- 4. 運算符|是什麼?對boost :: la中的vec3做些什麼?
- 5. ls -LA做什麼操作?
- 6. 什麼文件夾的大小表明LS -la
- 7. jekyll中的空白控件 - 爲什麼{% - ... - %} la la liquid不起作用?
- 8. libtool:我的模塊的路徑是什麼?
- 9. La Clojure - 在Windows環境中綁定的'Meta'關鍵是什麼?
- 10. Linux:命令ls -la顯示指向另一個文件的文件。那是什麼意思?
- 11. ,「la」和「ld」命令有什麼區別?
- 12. 使用Libtool庫,但是`LIBTOOL'未定義?
- 13. 爲什麼使用libtool來構建庫?
- 14. 建立.so模塊與autotools/libtool沒有.la和.a變體正在安裝
- 15. gcc -l選項和.la庫文件
- 16. 什麼是xcscheme文件?它的目的是什麼?
- 17. Libtool:找不到以下文件:-lPods-RCTMapboxGL
- 18. iphone - 「.../libtool:無法找到文件:-lxml2」
- 19. 什麼是.struts-config.xml.strutsdia文件?
- 20. 什麼是.tpl.html文件? (angularjs)
- 21. 什麼是「圖標?」文件?
- 22. 什麼是.h.gch文件?
- 23. 什麼是.rds_delta文件?
- 24. 什麼是* .vshost.exe.config文件?
- 25. 是什麼在GPX文件
- 26. 什麼是.S文件?
- 27. 什麼是IETLD文件?
- 28. 什麼是deps文件?
- 29. 什麼是「.dll.a」文件?
- 30. 什麼是.lyx〜文件?
也http://stackoverflow.com/q/12237282/632951 – Pacerier 2015-06-26 03:51:52