This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
> 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