[Francophone] Failed at using GDAL_OGR and Shapelib with Visual Studio 2008 9.0

Vincent Picavet vincent.ml at oslandia.com
Wed Apr 10 04:40:35 PDT 2013


Bonjour,

Note initiale : avoir un environnement de compilation complet sous windows est 
quasi systématiquement une galère sans nom. Si vous avez la possibilité de 
travailler sous un environnement unix (linux), vous gagnerez largement en 
facilité de mise en place, gestion des dépendances, etc.

Il faut faire attention à quel compilateur a été utilisé pour compiler les 
binaires installés des bibliothèques, et le projet que l'on veut linker.

Le plus simple en terme d'installation et déploiement est sans doute 
d'utiliser OSGeo4W, qui contient la grande majorité des packages disponibles, 
ainsi que les headers nécessaires pour utiliser les bibliothèques.

Ça ne résoudra pas forcément les soucis de link par contre, sauf à utiliser le 
même compilateur que celui utilisé pour les packages OSGeo4W en question.

Autre question, le choix de programmer en c++ est nécessaire ? Toutes les 
fonctionnalités sont aussi accessibles de python, sans compilation ni link...

Mes 2 c€,
Vincent

Le mercredi 10 avril 2013 11:46:33, MARION VIOLOT a écrit :
> Oui. Pardon!! Je pensais que ce choix n'était que pour localiser les
> utilisateurs dans le besoin...
> 
> Bon, pour ceux qui n'auraient pas compris mon super anglais, je suis en
> difficulté. Cela fait plus de deux semaines que je cherche à manipuler des
> shapefiles (ESRI shapefile). Et il se pourrait que les librairies ShapeLib
> et GDAL_OGR me conviennent. Or, je n'arrive pas à les utiliser ni dans
> QtCreator, ni avec Visual Studio 2008. Idéalement, je travaillerai sous
> Visual Studio ayant déjà une licence.
> 
> J'ai suivi les instructions du lien suivant :
> http://trac.osgeo.org/gdal/wiki/BuildingOnWindows pour installer GDAL sous
> Windows. J'ai essayé de deux façons : en utilisant les libraires "pré
> construites" qui sont proposées, et en construisant la libraire moi-même
> (en choisissant préalablement la version qui me convient ici
> http://www.gisinternals.com/sdk/ ). Dans les deux cas, j'ai des erreurs de
> linkages du type " LNK2001 unresolved external symbol ". Je pense pourtant
> avoir bien relié ma librairie à mon projet ( Projet > Propriété de mon
> projet > Propriétés de configuration > C/C++ > Général > Autres répertoires
> include > Chemin\vers\mes *.h , puis Projet > Propriété de mon projet >
> Propriétés de configuration >Editeur de liens > Général > Répertoires de
> bibliothèque supplémentaire > chemin\vers\ma bibliothèque.lib puis Projet >
> Propriété de mon projet > Propriétés de configuration >Editeur de liens >
> Entrée > Dépendances supplémentaires > malibrairie.lib).
> 
> Alors, je me suis demandée s'il fallait que je lie aussi mon projet avec ma
> *.dll. J'ai donc ajouté un chemin vers une référence dans Projet >
> Propriété de mon projet > Propriétés communes > chemin\vers\ma
> librairie.dll , mais je ne pense pas que ce soit utile de lier à la fois à
> la .*dll et à la *.lib. Peu importe, cela ne fonctionne toujours pas. Mais
> mon erreur est bien une erreur de linkage. J'ai alors voulu utiliser  des
> #import *.dll et/ou des  #unsing *.dll ou dllimport dllexport, mais je n'ai
> pas vraiment saisi comment les utiliser (en regardant sur ce site :
> http://msdn.microsoft.com/fr-fr/ ).
> 
> Si quelqu'un sait ce que je fais mal, ou à réussi à les utiliser,
> pourrait-il me conseiller s'il vous plait?
> 
> Merci d'avance,
> Marion.
> 
> On Wed, Apr 10, 2013 at 10:05 AM, Yves Jacolin (Free) 
<yjacolin at free.fr>wrote:
> > Marion,
> > 
> > La liste Francophone est une liste où l'on écrit en français ;)
> > 
> > Tu peux aussi poser ta question sur un forum francophone comme GeoRezo
> > (http://georezo.net, forum Geolibre).
> > 
> > Y.
> > 
> > Le mardi 9 avril 2013 22:57:07 MARION VIOLOT a écrit :
> > > Hello everyone,
> > > 
> > > I have tried for at least two weeks to find a way to manipulate
> > 
> > shapefiles
> > 
> > > in a project in Visual Studio C++. I found two libraries (GDAL_OGR and
> > > Shapelib) which could help me to do it, but I failed at using them with
> > 
> > VS
> > 
> > > C++ 2008.
> > > 
> > > Indeed, I follow this link :
> > > http://trac.osgeo.org/gdal/wiki/BuildingOnWindows and tried to used the
> > > prebuild libraries as well as built it myself (by first choosing
> > > version
> > 
> > of
> > 
> > > GDAL here : http://www.gisinternals.com/sdk/), but I have same errors
> > 
> > which
> > 
> > > is a LNK2001 unresolved external symbol. I thought I linked well the
> > > gdal_i.lib ( Project Properties > Linking Options > Additional Librairy
> > > > Path to gdal_i.lib, I also add gdal_i.lib (only the name) where I
> > > have
> > 
> > to,
> > 
> > > and add the path to my includes files also in Project Properties >
> > > C++/C Options).
> > > 
> > > I thought may be I have to add reference to my gdal.dll. So I added the
> > > path of bin\gdal.dll to the option Add path reference. But I had the
> > > same error. I was thinking about use #import *.dll and/or #unsing
> > > *.dll but I don't really understand how doing this (I looked through
> > > http://msdn.microsoft.com/fr-fr/ ). Anyway, it might be unuseful as I
> > > already linked my *.lib, isn't it?
> > > 
> > > So I tried to use Shapelib dowloaded from here, but I just failed to
> > 
> > build
> > 
> > > the library as it seems some *.h are missing.
> > > 
> > > If you have any advice, I would be very releaved and of course
> > > grateful.
> > > 
> > > Thank you in advance.
> > > Marion.


More information about the Francophone mailing list