Ошибка заголовочных файлов библиотеки GDAL и предупреждения с Visual Studio 2019 - PullRequest
1 голос
/ 10 января 2020

Я использую GDAL в версии сообщества Visual Studio 2019, и я использовал пример кода на их официальном сайте, который находится ниже, программа прекрасно компилируется, запускается и выводит, но я получил список ошибок и предупреждений, я Не знаете, стоит ли мне их игнорировать или вносить какие-либо изменения в заголовочные файлы, кто-нибудь сталкивался с подобными проблемами раньше? надеюсь, кто-нибудь может дать мне несколько советов, спасибо. Пример кода:

/*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     

следует ли изменить синтаксис в заголовочных файлах? изменит ли это что-то на эффект? Или я должен просто игнорировать эти ошибки?

1 Ответ

1 голос
/ 10 января 2020

Вы утверждаете, что ваша программа "хорошо компилируется, запускается и выводит", поэтому вы видите ошибки , о которых сообщает инструмент " Intellisense " в Visual Studio.

Чтобы прекратить их отображение, go в окне «Список ошибок» и выберите опцию «Только сборка»:

enter image description here

Сообщение C26812 предупреждение можно отключить, как описано в моем ответе на ваш недавний вопрос .

...