解决 linux下使用eclipse调用gdal 出现undefined reference to `GDALAllRegister'问题

最近想要用gdal拼接谷歌瓦片地图,就先学习了一个eclipse下gdal的简单例子
gdal在linux下也通过congfigure,make,make install安装正常且可以找到头文件的情况下,用eclipse进行编译,结果一编译就出现:
undefined reference to ‘GDALAllRegister’
undefined reference to ‘GDALOpen’
等错误
上网查了好久,发现gdal安装时,把动态库存在/usr/local/lib下,导致eclipse编译时gdal的动态库没有链接上,解决办法是:
Project->Properties->C/C++ Build->Settings->Tool Settings->GCC C++ Linke
将所需的动态库链接上,如下图Library search path 输入动态库所在的文件夹,Libraries输入所需的动态库(注意本文所需的动态库为libgdal.so在Libraries中输入gdal即可,eclipse规则是在Libraries中输入XXX后,会自动搜索libXXX.so的动态库)
解决 linux下使用eclipse调用gdal 出现undefined reference to `GDALAllRegister'问题_第1张图片
设置后,点Project->Build All,然后RUN 即可出现结果
代码我是引用的下面的网站的
http://blog.chinaunix.net/uid-20660110-id-65642.html
可以读取tif图片的信息,结果如下
poDataset->GetDriver()->GetDescription() : PNG
poDataset->GetRasterXSize() : 256
poDataset->GetRasterYSize() : 256
poDataset->GetRasterCount() : 3
poDataset->GetProjectionRef() :

因为发生这个问题后,上网查了好久,没有找到答案,希望写下来,能帮助到其他人。

你可能感兴趣的:(unbuntu)