[geos-devel] Building GEOS with GDAL

Mir Hassan Ali mirhassanali at gmail.com
Tue Nov 14 08:47:59 EST 2006


Hi

I did the change you mentioned but it does not work. Still gives the same
warnings.

..\ogr\geos_c.h(134) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(135) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(151) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(154) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(168) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(174) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(225) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(226) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(227) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(234) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(236) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(239) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(256) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(257) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(258) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(260) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(261) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(262) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(264) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(265) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(266) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(267) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(274) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(277) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(278) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(279) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(344) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(357) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(364) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored
..\ogr\geos_c.h(373) : warning C4518: '__declspec(dllexport ) ' :
storage-class or type specifier(s) unexpected here; ignored

It gives these warnings while compiling ogrgeometryfactory.cpp,
ogrpolygon.cpp and ogrgeometry.cpp. Here is the compile command

cl /nologo /MD /EHsc /Ox /DHAVE_GEOS=1 -I..\port -I..\ogr -I..\gcore
-I..\alg -I\inc  -I"D:\Software\VStudio\VC98\ATL\Include" -DWIN32  -I.
-Iogrsf_frmts -I..\frmts\gtiff\libgeotiff    -IC:/GEOS/trunk/capi
-DHAVE_GEOS=1 /c ogrgeometry.cpp

Are all the flags and options correct?

And these are the errors i get at the end when it tries to link:

Creating library gdal_i.lib and object gdal_i.exp
ogr.lib(ogrgeometry.obj) : error LNK2019: unresolved external symbol
_GEOSGeomFromWKB_buf referenced in function "public: virtual struct
GEOSGeom_t * __thiscall OGRGeometry::exportToGEOS(void)const " (
?exportToGEOS at OGRGeometry@@UBEPAUGEOSGeom_t@@XZ)
ogr.lib(ogrgeometry.obj) : error LNK2019: unresolved external symbol
_GEOSConvexHull referenced in function "public: virtual class OGRGeometry *
__thiscall OGRGeometry::ConvexHull(void)const " (
?ConvexHull at OGRGeometry@@UBEPAV1 at XZ)
ogr.lib(ogrgeometry.obj) : error LNK2019: unresolved external symbol
_GEOSBoundary referenced in function "public: virtual class OGRGeometry *
__thiscall OGRGeometry::getBoundary(void)const " (
?getBoundary at OGRGeometry@@UBEPAV1 at XZ)
ogr.lib(ogrgeometry.obj) : error LNK2019: unresolved external symbol
_GEOSBuffer referenced in function "public: virtual class OGRGeometry *
__thiscall OGRGeometry::Buffer(double,int)const " (
?Buffer at OGRGeometry@@UBEPAV1 at NH@Z)
ogr.lib(ogrgeometry.obj) : error LNK2019: unresolved external symbol
_GEOSIntersection referenced in function "public: virtual class OGRGeometry
* __thiscall OGRGeometry::Intersection(class OGRGeometry const *)const " (
?Intersection at OGRGeometry@@UBEPAV1 at PBV1@@Z)
ogr.lib(ogrgeometry.obj) : error LNK2019: unresolved external symbol
_GEOSUnion referenced in function "public: virtual class OGRGeometry *
__thiscall OGRGeometry::Union(class OGRGeometry const *)const " (
?Union at OGRGeometry@@UBEPAV1 at PBV1@@Z)
ogr.lib(ogrgeometry.obj) : error LNK2019: unresolved external symbol
_GEOSDifference referenced in function "public: virtual class OGRGeometry *
__thiscall OGRGeometry::Difference(class OGRGeometry const *)const " (
?Difference at OGRGeometry@@UBEPAV1 at PBV1@@Z)
ogr.lib(ogrgeometry.obj) : error LNK2019: unresolved external symbol
_GEOSSymDifference referenced in function "public: virtual class OGRGeometry
* __thiscall OGRGeometry::SymmetricDifference(class OGRGeometry const
*)const " (?SymmetricDifference at OGRGeometry@@UBEPAV1 at PBV1@@Z)
ogr.lib(ogrpolygon.obj) : error LNK2019: unresolved external symbol
_GEOSGetCentroid referenced in function "public: virtual int __thiscall
OGRPolygon::Centroid(class OGRPoint *)const " (
?Centroid at OGRPolygon@@UBEHPAVOGRPoint@@@Z)
gdal13.dll : fatal error LNK1120: 9 unresolved externals

Any clue?

Best regards

Mir


On 11/14/06, strk at refractions.net <strk at refractions.net> wrote:
>
> On Tue, Nov 14, 2006 at 12:50:33PM +0000, Mir Hassan Ali wrote:
> > Hi
> >
> > I am also getting these warnings for geos_c.h file. Are these of any
> > significance?
>
> mmm... maybe the type specifier is just placed in the wrong
> way:
>
>
> 133: extern GEOSGeometry* GEOS_DLL GEOSGeomFromWKT(const char *wkt);
> 134: extern char GEOS_DLL *GEOSGeomToWKT(const GEOSGeometry* g);
>
> Since you don't get a warning on 134 I suppose it should be:
>
> 134: extern char * GEOS_DLL GEOSGeomToWKT(const GEOSGeometry* g);
>
> Can you try ?
>
> --strk;
>
> >
> > ..\ogr\geos_c.h(134) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(151) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(154) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(168) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(174) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(225) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(226) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(227) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(234) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(236) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(239) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(256) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(257) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(258) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(260) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(261) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(262) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(264) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(265) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(266) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(267) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(274) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(277) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(278) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(279) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(344) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(357) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(364) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> > ..\ogr\geos_c.h(373) : warning C4518: '__declspec(dllexport ) ' :
> > storage-class or type specifier(s) unexpected here; ignored
> >
> > I am still unable to build GDAL with GEOS.
> >
> > Best Regards
> >
> > Mir
> >
> >
> > On 11/14/06, strk at refractions.net <strk at refractions.net> wrote:
> > >
> > >Argh.. sounds related to latest 'const-correctness' or 'integer
> > >signedness'
> > >changes in the CAPI header file, is this possible ?
> > >I'm not an expert of the __declspec(dllexport) thing ...
> > >
> > >--strk;
> > >
> > >On Mon, Nov 13, 2006 at 05:13:30PM +0000, Mir Hassan Ali wrote:
> > >> Hi Frank,
> > >>
> > >> I downloaded the GDAL snapshot on 6th November 2006, so i assume it
> > >includes
> > >> the latest changes. When I compile it without the GEOS support, i.ethe
> > >> following lines are commented in the nmake.opt file are commented:
> > >>
> > >>
> > >> GEOS_CFLAGS = -IC:/GEOS/trunk/capi -DHAVE_GEOS
> > >>
> > >> GEOS_LIB = C:/GEOS/trunk/source/geos_c_i.lib
> > >> But when I uncomment these lines and try to build the API it gives me
> > >the
> > >> following link errors:
> > >>
> > >> Creating library gdal_i.lib and object gdal_i.exp
> > >> ogr.lib(ogrgeometry.obj) : error LNK2019: unresolved external symbol
> > >> _GEOSGeomFr
> > >> omWKB_buf referenced in function "public: virtual struct GEOSGeom_t *
> > >> __thiscall
> > >> OGRGeometry::exportToGEOS(void)const " (
> > >> ?exportToGEOS at OGRGeometry@@UBEPAUGEOSGe
> > >> om_t@@XZ)
> > >> ogr.lib(ogrgeometry.obj) : error LNK2019: unresolved external symbol
> > >> _GEOSConvex
> > >> Hull referenced in function "public: virtual class OGRGeometry *
> > >__thiscall
> > >> OGRG
> > >> eometry::ConvexHull(void)const " (?ConvexHull at OGRGeometry@@UBEPAV1 at XZ)
> > >> ogr.lib(ogrgeometry.obj ) : error LNK2019: unresolved external symbol
> > >> _GEOSBounda
> > >> ry referenced in function "public: virtual class OGRGeometry *
> > >__thiscall
> > >> OGRGeo
> > >> metry::getBoundary(void)const " ( ?getBoundary at OGRGeometry@@
> UBEPAV1 at XZ)
> > >> ogr.lib(ogrgeometry.obj) : error LNK2019: unresolved external symbol
> > >> _GEOSBuffer
> > >> referenced in function "public: virtual class OGRGeometry *
> __thiscall
> > >> OGRGeome
> > >> try::Buffer(double,int)const " ( ?Buffer at OGRGeometry@@UBEPAV1 at NH@Z)
> > >> ogr.lib(ogrgeometry.obj) : error LNK2019: unresolved external symbol
> > >> _GEOSInters
> > >> ection referenced in function "public: virtual class OGRGeometry *
> > >> __thiscall OG
> > >> RGeometry::Intersection(class OGRGeometry const *)const "
> > >> (?Intersection at OGRGeom
> > >> etry@@UBEPAV1 at PBV1@@Z)
> > >> ogr.lib(ogrgeometry.obj ) : error LNK2019: unresolved external symbol
> > >> _GEOSUnion
> > >> referenced in function "public: virtual class OGRGeometry *
> __thiscall
> > >> OGRGeomet
> > >> ry::Union(class OGRGeometry const *)const "
> > >> (?Union at OGRGeometry@@UBEPAV1 at PBV1@@Z
> > >> )
> > >> ogr.lib(ogrgeometry.obj) : error LNK2019: unresolved external symbol
> > >> _GEOSDiffer
> > >> ence referenced in function "public: virtual class OGRGeometry *
> > >__thiscall
> > >> OGRG
> > >> eometry::Difference(class OGRGeometry const *)const " (
> > >> ?Difference at OGRGeometry@@
> > >> UBEPAV1 at PBV1@@Z)
> > >> ogr.lib(ogrgeometry.obj) : error LNK2019: unresolved external symbol
> > >> _GEOSSymDif
> > >> ference referenced in function "public: virtual class OGRGeometry *
> > >> __thiscall O
> > >> GRGeometry::SymmetricDifference(class OGRGeometry const *)const "
> > >> (?SymmetricDif
> > >> ference at OGRGeometry@@UBEPAV1 at PBV1@@Z)
> > >> ogr.lib(ogrpolygon.obj) : error LNK2019: unresolved external symbol
> > >> _GEOSGetCent
> > >> roid referenced in function "public: virtual int __thiscall
> > >> OGRPolygon::Centroid
> > >> (class OGRPoint *)const " (
> ?Centroid at OGRPolygon@@UBEHPAVOGRPoint@@@Z)
> > >> gdal13.dll : fatal error LNK1120: 9 unresolved externals
> > >> NMAKE : fatal error U1077: 'link' : return code '0x460'
> > >> Stop.
> > >>
> > >> Is there something else that I need to do in addition to the changes
> > >> mentioned above to the nmake.opt file. Please note that I am using
> the
> > >> latest version of the GEOS API. I checked it out from the subversion
> > >trunk
> > >> and built it. It builds fine without any errors or warnings.
> > >>
> > >> Best Regards
> > >_______________________________________________
> > >geos-devel mailing list
> > >geos-devel at geos.refractions.net
> > >http://geos.refractions.net/mailman/listinfo/geos-devel
> > >
>
> > _______________________________________________
> > geos-devel mailing list
> > geos-devel at geos.refractions.net
> > http://geos.refractions.net/mailman/listinfo/geos-devel
>
>
> --
>
> /"\    ASCII Ribbon Campaign
> \ /    Respect for low technology.
> X     Keep e-mail messages readable by any computer system.
> / \    Keep it ASCII.
>
> _______________________________________________
> geos-devel mailing list
> geos-devel at geos.refractions.net
> http://geos.refractions.net/mailman/listinfo/geos-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/geos-devel/attachments/20061114/c975df33/attachment.html


More information about the geos-devel mailing list