[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