[gdal-dev] "unresolved external symbol _GDALRegister" caused by a home build of HDF4

Joaquim Luis jluis at ualg.pt
Mon Jun 22 17:30:08 EDT 2009


Hi,

Being victim of a dll hell provoked by Matlab distributing a private zlib1.dll that casts the a hell 
out in my MEXs I decided to try to escape it by building one myself but with a different name.
Well things are not so simple and I had to rebuild not only zlib but also jpeg, szip, curl (this 
bloody one was particularly painful) and HDF4.

After that the final step was to rebuild GDAL using the above dlls (ah, I'm on Windows), but here a 
very strange thing happens. When I do a fresh build I get these errors at the end

compileds\vc71/lib/libcurl_imp_mir.lib wsock32.lib wldap32.lib winmm.lib   gcore
\Version.res  /out:gdal16.dll /implib:gdal_i.lib
    Creating library gdal_i.lib and object gdal_i.exp
gdalallregister.obj : error LNK2019: unresolved external symbol _GDALRegister_HTTP referenced in 
function _GDALAllRegister at 0
gdalallregister.obj : error LNK2019: unresolved external symbol _GDALRegister_WMS referenced in 
function _GDALAllRegister at 0
gdalallregister.obj : error LNK2019: unresolved external symbol _GDALRegister_WCS referenced in 
function _GDALAllRegister at 0
...
gdalallregister.obj : error LNK2019: unresolved external symbol _GDALRegister_netCDF referenced in 
function _GDALAllRegister at 0
gdalallregister.obj : error LNK2019: unresolved external symbol _GDALRegister_GMT referenced in 
function _GDALAllRegister at 0
gdal16.dll : fatal error LNK1120: 9 unresolved externals

However, if I first build GDAL using an official HDF4.r2 (the one I was using before) and with
successfully ends I change the nmake.opt to use now the HDF4 (r4) that I built than the GDAL build
process ends fine and I get a workable gdal.dll

I'm puzzled with this. Where do those errors of "unresolved external symbols" in GDALAllRegister 
come from in the first instance?

Thanks

Joaquim Luis






More information about the gdal-dev mailing list