gdal編譯
⑴ 使用GDAL將一張圖像分割成256*256的瓦片。請問用VS2005的C++該如何編譯呢第一次接觸到GDAL,請大神幫忙
參考下gdal的RasterIO函數,用法去網路搜
⑵ 編譯過C#下的gdal 讀取hdf文件
求學習。。。。。。。。。。。。。。。。
⑶ 如何編譯GDAL的鏈接
一、注冊vc的編譯環境。
打開控制台,輸入:
「D:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/bin/vcvars32.bat"
注冊vc的編譯環境。
如果不行
手工添加環境變數 (注意版本要一致哦)
path
include
lib
二、nmake.opt。
打開gdal文件夾下的nmake.opt修改GDAL_HOME = "C:/warmerda/bld"把路徑改到需要把gdal安裝的地方。
不改也可以。如果需要python支持
修改PY_INST_DIR = $(GDAL_HOME)/pymod把路徑改成python下的Lib/site-packages文件夾下。
PYDIR = "C:/Software/Python24" 改成python的安裝路徑。
下面的參數愛改什麼就把前面的#刪除(要看您有沒有那些庫的源碼),注意一下路徑就可以了。我是都沒改。
三、編譯安裝
後面就依次運行
nmake /f makefile.vc #編譯
nmake /f makefile.vc install #安裝運行需要的東西
nmake /f makefile.vc devinstall #安裝開發需要的東西
nmake /f makefile.vc clean #打掃戰場
最後最後,還要去GDAL_HOME目錄下的bin文件夾下把gdal13.dll(也有可能是gdal12.dll)
到PY_INST_DIR路徑下到此處就完成安裝gdal(python)的工作。
四、如果編譯出現出錯
如果是連接錯誤,肯定是lib環境變數沒有設置對
如果是語法錯誤,則可能是include沒有設置好,或者源碼對vc編譯器有些不好,需要手工改改源碼。
(源自博客)
⑷ gdal for android 如何支持 gpkg
編譯環境如下:
ubuntu 16.04 LTS
android-ndk-r18b
GNU Make 4.1
代碼版本如下:
gdal-2.2.3
curl-7.59.0
按照網上的辦法順利對GDAL進行了交叉編譯,坑來了。
利用GDAL的CPLHTTPFetch測試網路抓取功能的時候,沒抓取到文件。測試函數如下:
bool SaveUrl2File(const char* pszUrl, const char* pszFileName)
{
if (CPLHTTPEnabled() != TRUE)
return false;
CPLHTTPResult *pRest = CPLHTTPFetch(pszUrl, NULL);
if (pRest == NULL)
return false;
FILE *pFile = fopen(pszFileName, "wb");
if (pFile == NULL)
return false;
fwrite(pRest->pabyData, sizeof(GByte), pRest->nDataLen, pFile);
fclose(pFile);
CPLHTTPDestroyResult(pRest);
CPLHTTPCleanup();
return true;
}
查看錯誤信息,大概的意思是需要HTTPS支持,查資料得知,需要在編譯curl的時候指定--with-ssl 才能支持HTTPS,然後就開始編譯openssl庫,本來應該是比較容易的一件事,結果整了足足一天,糟糕的是還沒把ssl編譯出來。我用的NDK版本比較高,編譯器是clang,真是沒搞出來,原因是和NDK版本有密切關系,貌似GCC比較容易,clang是google推薦編譯器。之後就從網上找ssl庫,arm64-v8a的ssl不太好找,還好在GITHUB上找到了。
這是成功在curl中集成ssl後的configure輸出,注意最後一行Protocols 中要出現HTTPS,另外在編譯curl的時候要指定ssl的庫目錄,和庫名字,否則鏈接的時候可能會找不到庫。
export LDFLAGS="-L/xxx/xxx/build64dr/openssl/lib" ,指定ssl庫的搜索目錄
export LIBS="-lssl -lcrypto -lz",指定ssl庫名字
GDAL編譯好後,開始測試 SaveUrl2File 函數,測試失敗,提示SSL certificate problem: unable to get local issuer certificate,調用CPLSetConfigOption("GDAL_HTTP_UNSAFESSL", "YES");即可解決,原理就不說了。OK,GDAL在android下可以抓取網路數據了。
⑸ GDAL在windows,c++環境如何編譯安裝支持PostGIS格式
check out gdal offical site
⑹ gdal 自己編譯和gisinternals的有什麼區別
幾乎沒啥區別,唯一的區別就是別人給你編譯好了,還附加一些插件
⑺ 關於C++中使用頭文件gdal_priv.h
你沒有導入lib庫,所有造成函數有定義而連接不上,將你的lib庫文件加入到工程文件中,或者在原代碼中加入 #pragma comment(lib,"你的lib庫路徑和文件名"). 然後進行編譯連接。
⑻ 如何使用已編譯好的gdal文件
真搞不明白了,你去這有下載 http://www.gissky.net/Article/643_2.htm 把文章好好看了,其中有編譯好的下載 確認你的BIN目錄下有VCVARS32.BAT文件么
⑼ gdal 編譯為什麼只有1個dll
不過你可以寫成c++的,然後弄成dll啊在VC下編譯器里很方便的木葉清風(站內聯系TA)你看看msdn裡面關於動態鏈接庫的編寫部分,然後照著寫一個就行了。可以用__declspec(dllexport)或者寫.def文件導出函數或者變數,dllmain函數可要也可不要(不要的時候在屬性裡面指定生產dll)magic7004(站內聯系TA)只要告訴編譯器你要生成DLL就行了,如果你的編譯器沒有這個功能,那麼換個編譯器就OK了。chengrg(站內聯系TA)做成了!用c++文件如下:#includeextern"C"{/*----------------計算理想氣體焓值--------------------*/