[Gdal-dev] Problems Linking with Stubs in the precompiled downloadable Win32 Binaries.
Fam. Pool
marisap at telkomsa.net
Mon May 10 17:25:03 EDT 2004
Sorry I'm bothering you so much with this Frank -
I tried compiling GDAL from scratch but I got linking problems again. These
are my woes -
Microsoft (R) Library Manager Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
link /dll /debug /INCLUDE:_OCTNewCoordinateTransformation
/INCLUDE:_OGRRegisterAll /INCLUDE:_OGRFeatureStylePu
ller /INCLUDE:_OSRValidate /INCLUDE:_OPTGetProjectionMethods
/INCLUDE:_OGR_G_GetPointCount /INCLUDE:_GDALSimpleImageW
arp /INCLUDE:_GDALSuggestedWarpOutput /INCLUDE:_GDALGCPTransform
/INCLUDE:_GDALComputeMedianCutPCT /INCLUDE:_GDALDit
herRGB2PCT port\*.obj gcore\*.obj alg\*.obj frmts\o\*.obj
ogr\ogrsf_frmts\ogrsf_frmts.lib ogr\ogr.lib D:\Libraries\Xer
ces/lib/xerces-c_2.lib odbc32.lib
D:\Libraries\Jasper\src\msvc\Win32_Release\libjasper.lib
/out:gdal1
2.dll /implib:gdal_i.lib
Microsoft (R) Incremental Linker Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
LIBC.lib(crt0dat.obj) : error LNK2005: _exit already defined in
MSVCRT.lib(MSVCRT.dll)
LIBC.lib(crt0init.obj) : error LNK2005: ___xc_z already defined in
MSVCRT.lib(cinitexe.obj)
LIBC.lib(crt0init.obj) : error LNK2005: ___xc_a already defined in
MSVCRT.lib(cinitexe.obj)
LIBC.lib(crt0init.obj) : error LNK2005: ___xi_z already defined in
MSVCRT.lib(cinitexe.obj)
LIBC.lib(crt0init.obj) : error LNK2005: ___xi_a already defined in
MSVCRT.lib(cinitexe.obj)
LIBC.lib(mbctype.obj) : error LNK2005: __getmbcp already defined in
MSVCRT.lib(MSVCRT.dll)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: __strdup already defined in
LIBC.lib(strdup.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: __unlink already defined in
LIBC.lib(unlink.obj)
LIBC.lib(crt0dat.obj) : warning LNK4006: _exit already defined in
MSVCRT.lib(MSVCRT.dll); second definition ignored
LIBC.lib(crt0init.obj) : warning LNK4006: ___xc_z already defined in
MSVCRT.lib(cinitexe.obj); second definition ignored
LIBC.lib(crt0init.obj) : warning LNK4006: ___xc_a already defined in
MSVCRT.lib(cinitexe.obj); second definition ignored
LIBC.lib(crt0init.obj) : warning LNK4006: ___xi_z already defined in
MSVCRT.lib(cinitexe.obj); second definition ignored
LIBC.lib(crt0init.obj) : warning LNK4006: ___xi_a already defined in
MSVCRT.lib(cinitexe.obj); second definition ignored
LIBC.lib(mbctype.obj) : warning LNK4006: __getmbcp already defined in
MSVCRT.lib(MSVCRT.dll); second definition ignored
MSVCRT.lib(MSVCRT.dll) : warning LNK4006: __strdup already defined in
LIBC.lib(strdup.obj); second definition ignored
MSVCRT.lib(MSVCRT.dll) : warning LNK4006: __unlink already defined in
LIBC.lib(unlink.obj); second definition ignored
Creating library gdal_i.lib and object gdal_i.exp
LINK : warning LNK4098: defaultlib "MSVCRT" conflicts with use of other
libs; use /NODEFAULTLIB:library
LINK : warning LNK4098: defaultlib "LIBC" conflicts with use of other libs;
use /NODEFAULTLIB:library
LIBC.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
gdal12.dll : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: 'link' : return code '0x460'
Stop.
I vainly tried removing the MSVCRT and LIBC default libs by adding
/NODEFAULTLIB:LIBC and /NODEFAULTLIB:MSVCRT
to LINKER_FLAGS in nmake.opt - but I guess you can imagine how many
unresolved symbols I got then. Anyway, I'm using
VC6 and I was wondering if that would cause any problems... I noticed your
precompiled binaries specifically look for
MSVCRT71.dll
I don't want to whine 'cause I really hate whiners, but I would really
appreciate it if you could direct me to a site
where I can download precompiled WIN32 Static Libs for GDAL and OGR. Or put
one up if there aren't any - actually any help
would be dearly appreciated!
Thanks in advance,
Louis.
-----Original Message-----
From: gdal-dev-admin at remotesensing.org
[mailto:gdal-dev-admin at remotesensing.org]On Behalf Of Fam. Pool
Sent: 10 May 2004 10:59
To: gdal-dev at remotesensing.org
Subject: RE: [Gdal-dev] Problems Linking with Stubs in the precompiled
downloadable Win32 Binaries.
Fo Sheezy -
This is a simplified version of the code - note that I'm using a MapInfo
Data Source, a directory with several .TAB, .DAT, .MAP etc files (so in GDAL
talk: a couple 'o Layers).
bool cVectorLoader::loadOGRVector(char* sVectorMap)
{
//DataSet
OGRDataSource* poDataSet = (OGRDataSource*)
OGRSFDriverRegistrar::Open(sVectorMap, false);
if (poDataSet == NULL)
{
return false;
}
const char* sName = poDataSet->GetName();
int iNrOfLayers = poDataSet->GetLayerCount();
cout << endl << "<OGR> Report for Vector Dataset " << sName << endl;
cout << "Dataset has " << iNrOfLayers << " layer(s)." << endl;
//Layers
for (int i=0; i < iNrOfLayers; i++)
{
cout << "For layer " << i+1 << endl;
OGRLayer* poLayer = (OGRLayer*) poDataSet->GetLayer(i);
if (poLayer != NULL)
{
//Features
int iNrOfFeatures = poLayer->GetFeatureCount(true);
OGRFeature* poFeature = (OGRFeature*) poLayer->GetNextFeature();
cout << "Layer has " << iNrOfFeatures << " features" << endl;
int j=1;
while (poFeature != NULL)
{
//Style
cout << "Feature " << j << " with ID " << poFeature->GetFID()
<< " and Style String " << poFeature->GetStyleString () <<
endl;
OGRStyleTable oStyleTable;
OGRStyleTool* poStyleTool;
OGRStyleMgr* poStyleMgr = new OGRStyleMgr(&oStyleTable);
poStyleMgr->GetStyleString(poFeature);
for (int k=0; poStyleMgr->GetPartCount(); k++)
{
poStyleTool = poStyleMgr->GetPart(k);
switch(poStyleTool->GetType())
{
case OGRSTCNone: cout << "Style = None" << endl;
break;
case OGRSTCPen: cout << "Style = Pen" << endl;
break;
case OGRSTCBrush: cout << "Style = Brush" << endl;
break;
case OGRSTCSymbol: cout << "Style = Symbol" << endl;
break;
case OGRSTCLabel: cout << "Style = Label" << endl;
break;
}
}
...
poFeature = (OGRFeature*) poLayer->GetNextFeature();
j++;
}
}
}
cout << endl << "<OGR> End of Report" << endl;
//Clean up
delete poDataSet;
//Function completed successfully
return true;
}
Compilation is all good. When linking I get ze following errors.
Linking...
Creating library Debug/MapViewer.lib and object Debug/MapViewer.exp
cMapVisual.obj : error LNK2001: unresolved external symbol "struct
ogr_style_param * asStylePen" (?asStylePen@@3PAUogr_style_param@@A)
cVectorLoader.obj : error LNK2001: unresolved external symbol "struct
ogr_style_param * asStylePen" (?asStylePen@@3PAUogr_style_param@@A)
MapViewer.obj : error LNK2001: unresolved external symbol "struct
ogr_style_param * asStylePen" (?asStylePen@@3PAUogr_style_param@@A)
cMapVisual.obj : error LNK2001: unresolved external symbol "struct
ogr_style_param * asStyleBrush" (?asStyleBrush@@3PAUogr_style_param@@A)
cVectorLoader.obj : error LNK2001: unresolved external symbol "struct
ogr_style_param * asStyleBrush" (?asStyleBrush@@3PAUogr_style_param@@A)
MapViewer.obj : error LNK2001: unresolved external symbol "struct
ogr_style_param * asStyleBrush" (?asStyleBrush@@3PAUogr_style_param@@A)
cMapVisual.obj : error LNK2001: unresolved external symbol "struct
ogr_style_param * asStyleSymbol" (?asStyleSymbol@@3PAUogr_style_param@@A)
cVectorLoader.obj : error LNK2001: unresolved external symbol "struct
ogr_style_param * asStyleSymbol" (?asStyleSymbol@@3PAUogr_style_param@@A)
MapViewer.obj : error LNK2001: unresolved external symbol "struct
ogr_style_param * asStyleSymbol" (?asStyleSymbol@@3PAUogr_style_param@@A)
cMapVisual.obj : error LNK2001: unresolved external symbol "struct
ogr_style_param * asStyleLabel" (?asStyleLabel@@3PAUogr_style_param@@A)
cVectorLoader.obj : error LNK2001: unresolved external symbol "struct
ogr_style_param * asStyleLabel" (?asStyleLabel@@3PAUogr_style_param@@A)
MapViewer.obj : error LNK2001: unresolved external symbol "struct
ogr_style_param * asStyleLabel" (?asStyleLabel@@3PAUogr_style_param@@A)
Debug/MapViewer.exe : fatal error LNK1120: 4 unresolved externals
Error executing link.exe.
I'm using gdal_i.lib => gdal12.dll, the ones from the downloadable binaries.
I should add that for the past three yrs I've been a Java Boy and for the
last two weeks I've been brushing up on my C skills, which I haven't used
since my Varsity days. I could just be doing something stupid. However,
everything links fine when I comment out the Style Tool thingies.
BTW Frank - thanks for the great library!
Louis.
-----Original Message-----
From: gdal-dev-admin at remotesensing.org
[mailto:gdal-dev-admin at remotesensing.org]On Behalf Of Frank Warmerdam
Sent: 10 May 2004 10:09
To: gdal-dev at remotesensing.org
Subject: Re: [Gdal-dev] Problems Linking with Stubs in the precompiled
downloadable Win32 Binaries.
Fam. Pool wrote:
> Hi,
>
> I'm quite new to the GDAL world and sofar its gone quite smoothly - but
> today I tried using OGR Style Tools and now I'm getting unresolved symbol
> errors when linking the libs. Its just looks as tho something was left out
> of the precompiled binaries. I'm going to try building the GDAL package
from
> scratch and see if the stubs the scripts generate solve the problem.
Still,
> I like doing things the easy way. If someone could verify the integrity of
> the pre-compiled Win32 binaries that would be swell.
Louis,
There are indeed some issues with linking against the DLL version of OGR
and using some of the style related classes. I am a bit uncertain what
the exact problem is, but if you can list your link errors, and provide
a smallish example program that demonstrates the problem I will try and fix
it. I have run into a similar problem with MapServer but never succeeded in
resolve it.
Note, the problem can be worked around by linking against static versions of
OGR but if possible i would prefer to just fix the base problem.
Best regards,
--
---------------------------------------+------------------------------------
--
I set the clouds in motion - turn up | Frank Warmerdam,
warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush | Geospatial Programmer for Rent
_______________________________________________
Gdal-dev mailing list
Gdal-dev at remotesensing.org
http://remotesensing.org/mailman/listinfo/gdal-dev
_______________________________________________
Gdal-dev mailing list
Gdal-dev at remotesensing.org
http://remotesensing.org/mailman/listinfo/gdal-dev
More information about the Gdal-dev
mailing list