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++中的對(duì)象指針與對(duì)象數(shù)組
這篇文章主要介紹了詳解C++中的對(duì)象指針與對(duì)象數(shù)組,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-09-09
Visual Studio Code運(yùn)行C++代碼時(shí)顯示CLOCKS_PER_SEC未定義的問題及解決方法
這篇文章主要介紹了解決Visual Studio Code運(yùn)行C++代碼時(shí)顯示CLOCKS_PER_SEC未定義的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
C語言實(shí)現(xiàn)紙牌24點(diǎn)小游戲
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)紙牌24點(diǎn)小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10

