GDAL在VS2015上编译及常见错误分析
说实话,gdal在windows上的编译真的让人头疼,它有各种版本的问题,以前用vs2010编译过一次,这次又一次搞了好久。。。。因此记录以来,常见的错误点。
1. 下载gdal-2.03并解压
a. 其他版本的应该也可以,这里可以看一下
nmake.opt
文件中是否支持vs2015
b. 打开nmake.opt
文件,将WIN64=YES
前的#
去掉
2. 打开 vs2015 命令行,这里选择的是x64 x86兼容的那一个
a.打开到自己安装的gdal目录
b.分别输入下面的命令
nmake -f makefile.vc
nmake -f makefile.vc install
nmake -f devinstall
这个地方是非常容易出错的,往往令人头疼的。
- 配置VS
a. 打开VS选择空项目,控制台应用程序
b. 打开属性界面,添加C:\warmerda\bld\include
文件,如下图所示,在C/C++常规中添加附加包含目录, 也就是上面编译出来的文件,默认在c:/warmerda中.
c. 在连接器的常规中添加附加库目录C:\warmerda\bld\lib
d. 同样l链接器的输入项目在附加依赖项中添加gdal_i.lib
完成后添加如下代码测试:
#include "gdal_priv.h"
#include<iostream>
using namespace std;
int main()
{
GDALAllRegister();
const char* pszFile = "cute.jpg";
GDALDataset *poDataset = (GDALDataset*)GDALOpen(pszFile, GA_ReadOnly);
if (poDataset == nullptr)
cout << "can not open file" << endl;
cout << poDataset->GetRasterXSize() << "," << poDataset->GetRasterYSize() << endl;
system("pause");
return 0;
}
注意事项:
- 将vs模式改为Debug版本64位。
- 如果说缺少dll文件,其在
C:\warmerda\bld\bin
将其复制到项目下的exe类型的文件目录中。
运行,如果不出错,则完成配置。
转载自:https://blog.csdn.net/taoyanqi8932/article/details/52682406