Window下编译GDAL3.3.1库64位(VS2015)
下载数据
1.下载GDAL源文件
https://gdal.org/download.html#current-releases;
2.下载Proj库文件
C:\Users\
编译
修改nmake.opt文件
# PROJ stuff (required dependency: PROJ >= 6)
PROJ_INCLUDE = -IC:\proj-8.0.0\Library\include
# Note: add shell32.lib is needed starting with PROJ 7.0 in some circumstances
# for static linking. See https://github.com/OSGeo/gdal/issues/2488
# And ole32.lib also since PROJ 7.1 (see https://github.com/OSGeo/gdal/issues/2743)
PROJ_LIBRARY = C:\proj-8.0.0\Library\lib\proj.lib shell32.lib ole32.lib
打开VS2015 x64 本机工具命令指示符
执行以下指令
cd C:\Qt\work\gdal-3.3.1\gdal-3.3.1
nmake /f makefile.vc MSVC_VER=1910 WIN64=YES
nmake /f makefile.vc install MSVC_VER=1910 WIN64=YES
nmake /f makefile.vc devinstall MSVC_VER=1910 WIN64=YES
测试
#include <iostream>
#include "gdal_priv.h"
#include "ogrsf_frmts.h"
#include "gdal_alg.h"
int main()
{
GDALAllRegister();
const char* image_name = "C:/Qt/work/map6/map.jpg";
GDALDataset* dataset = (GDALDataset*)GDALOpen(image_name, GA_ReadOnly);
if (!dataset)
{
std::cout << "error" << std::endl;
return -1;
}
int width = dataset->GetRasterXSize();
int height = dataset->GetRasterYSize();
int count = dataset->GetRasterCount();
std::cout << width << " " << height << " " << count << std::endl;
GDALClose((GDALDatasetH)dataset);
getchar();
return 0;
}