[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[netCDF #CBO-601796]: Unresolved externals
- Subject: [netCDF #CBO-601796]: Unresolved externals
- Date: Wed, 27 Jan 2010 15:47:07 -0700
> Hi,
> I am trying to use 4.0 with Compaq Visual Fortran.
> I am getting the following errors
> LINK : warning LNK4098: defaultlib "libc.lib" conflicts with use of other
> libs; use /NODEFAULTLIB:library
> NETCDF90Ver4.lib(netcdf4.obj) : error LNK2001: unresolved external symbol
> _NF_INQ_LIBVERS@8<mailto:_NF_INQ_LIBVERS@8>
> netcdf90.LIB(netcdf.obj) : error LNK2001: unresolved external symbol
> _NF_INQ_LIBVERS@8<mailto:_NF_INQ_LIBVERS@8>
> NETCDF90Ver4.lib(netcdf4.obj) : error LNK2001: unresolved external symbol
> _NF_STRERROR@12<mailto:_NF_STRERROR@12>
> netcdf90.LIB(netcdf.obj) : error LNK2001: unresolved external symbol
> _NF_STRERROR@12<mailto:_NF_STRERROR@12>
> NETCDF90Ver4.lib(netcdf4.obj) : error LNK2001: unresolved external symbol
> _NF_INQ_BASE_PE@8<mailto:_NF_INQ_BASE_PE@8>
> netcdf90.LIB(netcdf.obj) : error LNK2001: unresolved external symbol
> _NF_INQ_BASE_PE@8<mailto:_NF_INQ_BASE_PE@8>
> NETCDF90Ver4.lib(netcdf4.obj) : error LNK2001: unresolved external symbol
> _NF_SET_BASE_PE@8<mailto:_NF_SET_BASE_PE@8>
> netcdf90.LIB(netcdf.obj) : error LNK2001: unresolved external symbol
> _NF_SET_BASE_PE@8<mailto:_NF_SET_BASE_PE@8>
> NETCDF90Ver4.lib(netcdf4.obj) : error LNK2001: unresolved external symbol
> _NF_CREATE@16<mailto:_NF_CREATE@16>
> netcdf90.LIB(netcdf.obj) : error LNK2001: unresolved external symbol
> _NF_CREATE@16<mailto:_NF_CREATE@16>
> NETCDF90Ver4.lib(netcdf4.obj) : error LNK2001: unresolved external symbol
> _NF__CREATE@24<mailto:_NF__CREATE@24>
> netcdf90.LIB(netcdf.obj) : error LNK2001: unresolved external symbol
> _NF__CREATE@24<mailto:_NF__CREATE@24>
> NETCDF90Ver4.lib(netcdf4.obj) : error LNK2001: unresolved external symbol
> _NF__CREATE_MP@28<mailto:_NF__CREATE_MP@28>
> netcdf90.LIB(netcdf.obj) : error LNK2001: unresolved external symbol
> _NF__CREATE_MP@28<mailto:_NF__CREATE_MP@28>
> NETCDF90Ver4.lib(netcdf4.obj) : error LNK2001: unresolved external symbol
> _NF__OPEN@20<mailto:_NF__OPEN@20>
> netcdf90.LIB(netcdf.obj) : error LNK2001: unresolved external symbol
> _NF__OPEN@20<mailto:_NF__OPEN@20>
> NETCDF90Ver4.lib(netcdf4.obj) : error LNK2001: unresolved external symbol
> _NF_OPEN@16<mailto:_NF_OPEN@16>
> netcdf90.LIB(netcdf.obj) : error LNK2001: unresolved external symbol
> _NF_OPEN@16<mailto:_NF_OPEN@16>
> NETCDF90Ver4.lib(netcdf4.obj) : error LNK2001: unresolved external symbol
> _NF__OPEN_MP@24<mailto:_NF__OPEN_MP@24>
> netcdf90.LIB(netcdf.obj) : error LNK2001: unresolved external symbol
> _NF__OPEN_MP@24<mailto:_NF__OPEN_MP@24>
> NETCDF90Ver4.lib(netcdf4.obj) : error LNK2001: unresolved external symbol
> _NF_SET_FILL@12<mailto:_NF_SET_FILL@12>
> netcdf90.LIB(netcdf.obj) : error LNK2001: unresolved external symbol
> _NF_SET_FILL@12<mailto:_NF_SET_FILL@12>
> NETCDF90Ver4.lib(netcdf4.obj) : error LNK2001: unresolved external symbol
> _NF_REDEF@4<mailto:_NF_REDEF@4>
> netcdf90.LIB(netcdf.obj) : error LNK2001: unresolved external symbol
> _NF_REDEF@4<mailto:_NF_REDEF@4>
> NETCDF90Ver4.lib(netcdf4.obj) : error LNK2001: unresolved external symbol
> _NF_ENDDEF@4<mailto:_NF_ENDDEF@4>
> netcdf90.LIB(netcdf.obj) : error LNK2001: unresolved external symbol
> _NF_ENDDEF@4<mailto:_NF_ENDDEF@4>
> NETCDF90Ver4.lib(netcdf4.obj) : error LNK2001: unresolved external symbol
> _NF__ENDDEF@20<mailto:_NF__ENDDEF@20>
> netcdf90.LIB(netcdf.obj) : error LNK2001: unresolved external symbol
> _NF__ENDDEF@20<mailto:_NF__ENDDEF@20>
>
> And some more.
>
> Can you please provide me some clue as why this is happening?
> I created netcdf.mod from f90 code available in 4.0 zip file.
> I am linking with lib files available in 4.0.
>
> Thanks
> Venkat
>
> _
Howdy Venkat!
This is happening because different fortran compilers use different name
mangling schemes, and the proper scheme for your fortran compiler has to be set
in the C library build.
On unix platforms, this is all handled easily by the configure script. But on
windows, everything has to be hardwired into your development environment.
So the best way to proceed is to build the C library in your development
environment (visual studio I assume) and then modify the preprocessor flag
pgiFortran, and make it f2cFortran. Then the F77 API will appear in the DLL,
and your F90 code can all it.
We hope to have better windows support for the 4.2 release, but it is something
we have to throw resources at every few years to bring it up to date with the
rest of the programming world. Sorry, but we are a very small project, with
only one full-time programmer, and it is hard to find time to support every
platform.
Thanks,
Ed
Ticket Details
===================
Ticket ID: CBO-601796
Department: Support netCDF
Priority: Critical
Status: Closed