1. 程式人生 > >圖片播放器(六):JPG圖片的顯示函式

圖片播放器(六):JPG圖片的顯示函式

1.libjpeg介紹及開源庫的使用方法

1.1.libjpeg介紹
(1)基於linux的開源軟體
(2)C語言編寫(gcc、Makefile管理)
(3)提供JPEG圖片的編解碼演算法實現


1.2.libjpeg版本及下載資源
(1)經典版本v6b:https://sourceforge.net/projects/libjpeg/files/libjpeg/6b/
(2)最新版本v9b:http://www.ijg.org/


1.3.開源庫的使用方法
(1)移植(原始碼下載、解壓、配置、修改Makefile、編譯或交叉編譯)。移植的目的是由原始碼得到三個東西:動態庫.so,靜態庫.a,標頭檔案.h
(2)部署(部署動態庫so、部署靜態庫.a和標頭檔案.h)
動態庫是執行時環境需要的,編譯程式時不需要。
靜態庫是靜態連線時才需要,動態連結時不需要。
標頭檔案.h是在編譯程式時使用的,執行時不需要的。
總結:靜態庫和標頭檔案這兩個東西,是在編譯連結過程中需要的;而動態庫是在執行時需要的。
所以動態庫so檔案是要放到開發板的檔案系統中去的(放的過程就叫部署),把靜態庫.a檔案和標頭檔案.h檔案放到ubuntu的檔案系統中去。
(3)注意三個編譯連結選項:-I  -l  -L
-I是編譯選項(準確的是說是預處理選項CFLAGS或者CPPFLAGS中指定),用來指定預處理時查詢標頭檔案的範圍的。
-l是連結選項(LDFLAGS中指定),用來指定連結額外的庫(譬如我們用到了數學函式,就用-lm,連結器就會去連結libm.so;那麼我們使用了libjpeg,對應的庫名字就叫libjpeg.so,就需要用-ljpeg選項去連結)
-L是連結選項(LDFLAGS中指定),用來告訴連結器到哪個路徑下面去找動態連結庫。
總結:-l是告訴連結器要連結的動態庫的名字,而-L是告訴連結器庫的路徑