Linux環(huán)境g++編譯GDAL動(dòng)態(tài)庫操作方法
一、編譯步驟
解壓下載的GDAL源程序,并在命令行中切換到解壓目錄。
tar -xzvf gdal-2.1.3.tar.gz cd gdal-2.1.3
GDAL可通過configure來實(shí)現(xiàn)一些自定義配置,可通過./configure –h命令來查看。--prefix=path表示設(shè)置GDAL的make install后的build目錄,里面有生成的頭文件和動(dòng)態(tài)庫。輸入如下命令:
./configure --prefix=/root/Test/gdalbuild
這時(shí)可以發(fā)現(xiàn)目錄中新生成了GDALmake.opt文件,該文件被包含在GNUmakefile中進(jìn)行編譯。輸入命令:
make make install
編譯完成后,生成的動(dòng)態(tài)庫文件就在設(shè)置的目錄下。Include目錄下存放著頭文件,lib目錄存放動(dòng)態(tài)庫文件,bin目錄存放可執(zhí)行文件如gdalinfo。
二、注意說明
1)注意這里是生成在自己設(shè)置目錄而不是默認(rèn)目錄下,調(diào)用的時(shí)候需要設(shè)置環(huán)境變量或者拷貝到系統(tǒng)的lib目錄,或者不用設(shè)置—prefix參數(shù)編譯。
2)configure命令還可以用來設(shè)置debug版本或者release版本,只需要在后面添加--enable-debug參數(shù)就可以控制。默認(rèn)情況下是關(guān)閉的。
--enable-debug enable debugging (disabled by default)
但我發(fā)現(xiàn)GDAL這個(gè)說明似乎有問題。我分別編譯了帶這個(gè)參數(shù)和不帶這個(gè)參數(shù)兩個(gè)版本:
帶參數(shù)--enable-debug:
不帶參數(shù)--enable-debug:
可以看到按照說明的release版本反而比debug版本體積大。一般而言,release版本總比debug版本信息小一點(diǎn),而按照這篇文章《Linux下查看.so和可執(zhí)行文件是否debug編譯》進(jìn)行檢查是否debug編譯,發(fā)現(xiàn)兩者都是存在debug信息的,release版本比debug版本debug信息少一條:
這樣到底哪個(gè)是debug版本反而弄不清楚了,只有留待以后研究了。
以上這篇Linux環(huán)境g++編譯GDAL動(dòng)態(tài)庫操作方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
c++ lambda捕獲this 導(dǎo)致多線程下類釋放后還在使用的錯(cuò)誤問題
Lambda表達(dá)式是現(xiàn)代C++的一個(gè)語法糖,挺好用的。但是如果使用不當(dāng),會(huì)導(dǎo)致內(nèi)存泄露或潛在的崩潰問題,這里總結(jié)下c++ lambda捕獲this 導(dǎo)致多線程下類釋放后還在使用的錯(cuò)誤問題,感興趣的朋友一起看看吧2023-02-02C++實(shí)現(xiàn)寵物商店信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)寵物商店信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03緩存處理函數(shù)storageKeySuffix操作示例解析
這篇文章主要介紹了淺析緩存處理函數(shù)storageKeySuffix操作示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08解析C語言基于UDP協(xié)議進(jìn)行Socket編程的要點(diǎn)
這篇文章主要介紹了C語言通過UDP協(xié)議進(jìn)行Socket編程的要點(diǎn),文中還提到了相關(guān)ARP與ICMP協(xié)議的作用,需要的朋友可以參考下2016-02-02C++友元(Friend)用法實(shí)例簡(jiǎn)介
這篇文章主要介紹了C++友元(Friend)用法,對(duì)于C++的學(xué)習(xí)來說有很好的參考價(jià)值,需要的朋友可以參考下2014-08-08C++開發(fā)在IOS環(huán)境下運(yùn)行的LRUCache緩存功能
本文著重介紹如何在XCODE中,通過C++開發(fā)在IOS環(huán)境下運(yùn)行的緩存功能。算法基于LRU,最近最少使用,需要的朋友可以參考下2012-11-11