Linux環境g 編譯GDAL動態庫操作方法

2022-10-04 01:09:15 字數 1099 閱讀 5690

一、編譯步驟

解壓**的gdal源程式,並在命lerer令行中切換到解壓目錄。程式設計客棧

tar -xzvf gdal-2.1.3.tar.gz

cd gdal-2.1.3

gdal可通過configure來實現一些自定義配置,可通過./configure –h命令來檢視。--prefix=path表示設定gdal的make install後的build目錄,裡面有生成的標頭檔案和動態庫。輸入如下命令:

./configure --prefix=/root/test/gdalbuild

這時可以發現目錄中新生成了gdalmake.opt檔案,該檔案被包含在gnumakefile中進行編譯。輸入命令:

make

make install

編譯完成後,生成的動態庫檔案就在設定的目錄下。include目錄下存放著標頭檔案,lib目錄存放動態庫檔案,bin目錄存放可執行www.cppcns.com檔案如gdalinfo。

二、注意說明

1)注意這裡是生成在自己設定目錄而不是預設目錄下,呼叫的時候需要設定環境變數或者拷貝到系統的lib目錄,或者不用設定—prefix引數編譯。

2)configure命令還可以用來設定debug版本或者release版本,只需要在後面新增--enable-debug引數就可以控制。預設情況下是關閉的。

--enable-debug enable debugging (disabled by default)

但我發現gdal這個說明似乎有問題。我分別編譯了帶這個引數和不帶這個引數兩個版本:

帶引數--enable-debug:

不帶引數--enable-debug:

可以看到按照說明的release版本反而比debug版本體積大。一般而言,release版本總比debug版本資訊小一點,而按照這篇文章《linux下檢視.so和可執行檔案是否debug編譯》進行檢查是否debug編譯,發現兩者都是存在debug資訊的,release版本比debug版本debug資訊少一條:

這樣到底哪個是debug版本反而弄不清楚了,只有留待以後研究了。

本文標題: linux環境g++編譯gdal動態庫操作方法

本文位址: /ruanjian/c/191621.html

Linux環境使用g 編譯C

以下述c 的編譯為例 helloworld.cpp include intmain int argc,char ar 該 可用以下命令編譯 g helloworld.cpp 編譯器 g 通過檢查命令列中指定的檔案的字尾名,可識別其為 c 源 檔案。編譯器預設的動作 編譯源 檔案生成物件檔案 obje...

Linux環境g 編譯TinyXML動態庫

除了cmarkup,tinyxml也是c c 下解析xml很好的工具。在linux下用g 編譯tinyxml的步驟如下 tinyxml版本2.6.2 進入tinyxml解壓目錄,用文字編輯器開啟makefile檔案。修改編譯目的檔案引數。將output xmltest改為output libtiny...

Linux 環境下使用g 編譯C

下面是乙個儲存在檔案 helloworld.cpp 中乙個簡單的 c 程式的 helloworld.cpp include int main int argc,char argv 程式使用定義在標頭檔案 iostream 中的 cout,向標準輸出寫入乙個簡單的字串。該 可用以下命令編譯為可執行檔案...