[OSM-dev-fr] [info - LibOsm] Etat d'avancement de "ma" libosm (C++)

Frédéric Rodrigo fred.rodrigo at gmail.com
Ven 17 Sep 22:01:11 BST 2010


Salut,
La dernière fois que j'avais testé ton projet, j'étais arrivé a compiler 
jusque au bout et sans spatialite en statique.

Cette fois ci, tclap m'a causé des soucies. Et pour terminer ça ne 
compile pas.

xml/parserosmchange.o: In function `ParserOsmChange::startElement(... 
 

/home/fred/Documents/ttt/LibOsm/xml/parserosmchange.cpp:59: undefined 
reference to `ParserModify::ParserModify(...
/home/fred/Documents/ttt/LibOsm/xml/parserosmchange.cpp:63: undefined 
reference to `ParserDelete::ParserDelete(...
/home/fred/Documents/ttt/LibOsm/xml/parserosmchange.cpp:67: undefined 
reference to `ParserCreate::ParserCreate(XML_ParserStruct**, 
BaseInterface&, Parser*, std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const&, 
std::vector<std::pair<std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >, std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >, 
std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >, std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > > > > const&)'

avec une gcc 4.5.1

Se plier aux standards cela parait souvent du superflu quand on dev. 
Mais si tu veux que ton projet soit réutilisé, voir même packagé, il 
faut faire quelques concessions.

Fred (qui aimerais bien avoir une db light de la France)


Le 16/09/2010 14:32, Marc SIBERT a écrit :
> Le 16 septembre 2010 01:30, Sébastien Dinot <sebastien.dinot at free.fr
> <mailto:sebastien.dinot at free.fr>> a écrit :
>
>     Sébastien Dinot a écrit :
>      > Par contre, il me semble inutile de mettre les composants
>     spatialite et
>      > tclap dans ton référentiel (et, du coup, de prévoir leur compilation
>      > dans le Makefile) puisqu'ils sont exogènes. Il existe d'ailleurs des
>      > paquets pour Debian :
>      >
>      > - libspatialite2
>      > - libspatialite-dev
>      > - libtclap-dev
>
>     À propos de spatialite, il est un peu dommage que tu aies appelé les
>     fichiers sources de ta classe Spatialite spatialite.h et spatialite.cpp.
>     Ce faisant, 3 fichiers spatialite.h entrent en lice :
>
>     /usr/include/spatialite.h
>     /usr/include/spatialite/spatialite.h
>     LibOsm/spatialite.h
>
>     Quand j'ai voulu lier ton exécutable à la bibliothèque spatialite déjà
>     installée sur ma machine (après avoir bien évidemment adapté le
>     Makefile), GCC s'est pris les pieds dans le tapis et n'a pas trouvé le
>     prototype des fonctions spatialite_*() de la bibliothèque externe. Pour
>     y remédier, j'ai du indiquer les entêtes sous la forme suivante :
>
>     #include <sqlite3.h>
>     #include </usr/include/spatialite.h>
>     #include <spatialite/spatialite.h>
>     #include "spatialite.h"
>
>     Aspirine bienvenue et portabilité... discutable. :)
>
>     Sébastien
>
>     --
>     Sébastien Dinot, sebastien.dinot at free.fr
>     <mailto:sebastien.dinot at free.fr>
>     http://sebastien.dinot.free.fr/
>     Ne goûtez pas au logiciel libre, vous ne pourriez plus vous en passer !
>
>
> Bonjour,
>
> Merci bien pour tes remarques, je vais regarder tout ça, en particulier
> le renommage des fichiers spatialite (ça, c'est facile).
>
> Je n'ai pas de problème pour sortir TClap (il faut juste que je trouve
> une librairie / dll pour windows), par contre pour SQLite & Spatialite,
> je souhaite garder un linkage statique (voir la fusion du code) pour des
> raisons évidentes de performance. Je vais tester cette partie plus tard
> et faire quelques bench pour valider que la séparation des librairies ne
> se fait pas au détriment de la vitesse. Pour un traitement qui prend une
> semaine... c'est sensible.
>
> A+
>
> --
> Marc Sibert
> marc at sibert.fr <mailto:marc at sibert.fr>



More information about the dev-fr mailing list