GDAL的安装和配置---出现的问题
一、linux下的安裝和使用
1.安裝
下載源程序包 ,解壓,運行以下三條命令
Java代碼??
在/usr/local/lib目錄下會出現編譯好了的相關gdal庫,我用的redhat linux下的一個問題是/usr/local/lib目錄不在庫的查找路徑中,因此鏈接時會出現找不到gdal庫的問題。有人認為這是redhat的一個bug ,但redhat解釋是故意這樣做的,他們建議開發人員可以自行添加該路徑到庫搜索目錄中:
?
另外,如下配置命令可以讓python版本的gdal在make時安裝:
./configure --with-python
?
2.使用
2.1 gdal庫連接問題
在我用的RetHat linux上gdal成功安裝后,相關的庫也會拷貝到/usr/local/lib目錄下(注意這個目錄不是系統的默認加載路徑,所以系統不知道在哪里加載libgdal.so庫),需要加載庫路徑的問題:讓程序在運行時能找到這些庫
運行時如果出現以下錯誤:
?error while loading shared libraries: libgdal.so.1: cannot open shared object file: No such file or directory
說明系統不知道gdal共享庫加載路徑,運行 ldd命令 列出程序正常運行所需要的共享庫
ldd test.o
[root@test]# ldd a.out
??????? /usr/lib/libcwait.so (0x0054f000)
??????? libgdal.so.1 => not found
??????? libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00b42000)
??????? libm.so.6 => /lib/tls/libm.so.6 (0x009b5000)
??????? libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00b03000)
??????? libc.so.6 => /lib/tls/libc.so.6 (0x0088a000)
??????? /lib/ld-linux.so.2 (0x00871000)
解決辦法如下
a. 設置環境變量:
設置$LD_LIBRARY_PATH=庫所在目錄(多個目錄用:分隔),系統加載工具將順序搜索變量指定的目錄
Java代碼??b.? 以root身份把庫路徑加入/etc/ld.so.conf
vim /etc/ld.so.conf.d/gdal.conf
在此文件中增加如下路徑
/usr/local/gdal-1.5.1/.libs
然后運行ldconfig更新/etc/ld.so.cache
/sbin/ldconfig
c.
直接把gdal相關的庫拷貝到/usr/lib下
共享庫搜索順序一般是$LDLIBRARY_PATH,/etc/ld.so.cache, /usr/lib, /lib
參考:Linux編程使用庫
2.2 編譯使用GDAL庫的C++程序
運行以下命令
Java代碼??總結
以上是生活随笔為你收集整理的GDAL的安装和配置---出现的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 永中office插件适配详解
- 下一篇: python同心圆怎么运行_怎么用pyt