编译时出现奇怪的GDAL错误

Weird GDAL error for compilation

本文关键字:GDAL 错误 编译      更新时间:2023-10-16

所以我认为我使用aptitude正确地安装了GDAL,并且我的makefile都有' g++ main.cpp -I/usr/include/mysql -lmysqlclient -I/usr/include/gdal -lgdal1.7.0'

但是我在make "ubuntu vm"上得到这个错误

`g++ main.cpp -I/usr/include/mysql -lmysqlclient   -I/usr/include/gdal -lgdal1.7.0
In file included from /usr/include/c++/4.6/vector:65:0,
             from /usr/include/gdal/gdal_priv.h:58,
             from main.cpp:5:
/usr/include/c++/4.6/bits/stl_vector.h: In member function ‘std::vector<_Tp,        _Alloc>::size_type std::vector<_Tp, _Alloc>::_M_check_len(std::vector<_Tp,   _Alloc>::size_type, const char*) const’:
/usr/include/c++/4.6/bits/stl_vector.h:1244:40: error: expected unqualified-id before ‘(’ token
In file included from /usr/include/c++/4.6/vector:66:0,
             from /usr/include/gdal/gdal_priv.h:58,
             from main.cpp:5:
 /usr/include/c++/4.6/bits/stl_bvector.h: In member function ‘std::vector<bool, _Alloc>::size_type std::vector<bool, _Alloc>::_M_check_len(std::vector<bool, _Alloc>::size_type, const char*) const’:
 /usr/include/c++/4.6/bits/stl_bvector.h:1026:45: error: expected unqualified-id before ‘(’ token
make: *** [all] Error 1

我真的不知道如何解决这个问题下面是我所有的代码:

#include <iostream>
#include "sql.h"
#include "gdal_priv.h"
#include "cpl_conv.h"
int main(int argc, char ** argv){
   GDALDataset  *poDataset;
   return 0;
}

这看起来更像是STL/vector问题,而不是GDAL特定的问题。当gdal_private .h执行

时,出现了问题。
#include <vector>

我首先检查你是否可以编译这样的东西:

#include <vector>
int main(int argc, char ** argv){
   std::vector<int> foo;
}