我在Visual Studio 2019社区版本中使用GDAL,我在下面的官方网站中使用了示例代码,程序可以编译,运行和输出很好,但是我得到了错误和警告的列表,我没有不知道我应该忽略它们还是对头文件进行一些更改,以前有人遇到过这样的问题吗?希望有人能给我一些建议,谢谢。示例代码:
/*gdal_test*/
#include <iostream>
#include <gdal_priv.h>
#include <cpl_conv.h>
using namespace std;
int main()
{
const char* pszFile;
GDALAllRegister();
pszFile = "E:/190807/mosaic_data/S2_1_170215.tif";
GDALDataset* poDataset = (GDALDataset*)GDALOpen(pszFile, GA_ReadOnly);
GDALRasterBand* poBand = poDataset->GetRasterBand(1);
int xsize = poBand->GetXSize();
int ysize = poBand->GetYSize();
cout << xsize << endl;
cout << ysize << endl;
system("pause");
return 0;
}
错误列表主要包含以下三个主要问题:
Error (active) E0065 expected a ';' gdaltest C:\MSVC_Library\GDAL\warmerda\bld\include C:\MSVC_Library\GDAL\warmerda\bld\include\ogr_geometry.h 387
Error (active) E1455 member function declared with 'override' does not override a base class member gdaltest C:\MSVC_Library\GDAL\warmerda\bld\include C:\MSVC_Library\GDAL\warmerda\bld\include\ogr_geometry.h 1139
Warning C26812 The enum type 'CPLErr' is unscoped. Prefer 'enum class' over 'enum' (Enum.3). gdaltest C:\MSVC_Library\GDAL\warmerda\bld\include C:\MSVC_Library\GDAL\warmerda\bld\include\cpl_error.h 244
我应该更改头文件中的语法吗?会改变它的作用吗?还是我应该忽略这些错误?
您声明您的程序“可以正常编译,运行和输出”,因此,Visual Studio中的“ Intellisense”工具正在报告您所看到的错误
。