日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

开源库的使用方法以及libjpeg的移植详解

發布時間:2025/5/22 编程问答 77 豆豆
生活随笔 收集整理的這篇文章主要介紹了 开源库的使用方法以及libjpeg的移植详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、開源庫的使用方法 (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是告訴鏈接器庫的路徑二、libjpeg的移植(1)×××、解壓 (2)配置???./configure?--prefix=/opt/libdecode?--exec-prefix=/opt/libdecode?--enable-shared?--enable-static?-build=i386?-host=arm (3)Makefile檢查,主要查看交叉編譯設置是否正確 CC=gcc? 改為? CC=arm-linux-gcc AR=ar?rc? 改為? AR=arm-linux-ar?rc AR2=ranlib? 改為  AR2=arm-linux-ranlib (4)編譯 make (5)安裝?make?install-lib 安裝就是將編譯生成的庫文件、頭文件、可執行文件分別裝載到--prefix??--exec-prefix所指定的那些目錄中去。 6.22.2.部署 部署動態鏈接庫一般有三個位置可以考慮: 第一個:/lib 第二個:/usr/lib 第三個:任意指定目錄


轉載于:https://blog.51cto.com/10925070/1884536

總結

以上是生活随笔為你收集整理的开源库的使用方法以及libjpeg的移植详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。