[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 20050412: "Installing" NetCDF files



Unidata Support <address@hidden> writes:

> ------- Forwarded Message
>
>>To: "address@hidden" <address@hidden>
>>cc: Daniel Yanosky II <address@hidden>,
>>cc: Jeff Yanosky <address@hidden>
>>From: Jeff Yanosky <address@hidden>
>>Subject: "Installing" NetCDF files
>>Organization: Harvard
>>Keywords: 200504121238.j3CCc3v3000486 netCDF Windows install
>
> Hi,
>
> I'm trying to use a netCDF file that was sent to me.  As a Windows user, your 
> help on 3.2 Installing the 
> DLL(http://my.unidata.ucar.edu/content/software/netcdf/docs/netcdf-install/Ins
> talling-the-DLL.html#Installing-the-DLL) could not be more confusing.  
> Verbatim, from a page apparently trying to help someone "Install the DLL", 
> per 
> the title:
>
> "Whether you get the pre-built DLL or build your own, you'll then have to 
> install it somewhere so that your other programs can find it and use it.
>
> The standard place to put DLLs is Windows\System32 folder (for 
> Windows2000/XP) 
> or the Windows\System folder (for Windows 98/ME). If you put the DLL there, 
> along with the ncgen and ncdump executables, you will be able to use the DLL 
> and utilities without further work. The system directory is in everyone's 
> path 
> (usually), and that's all that's needed to find the DLL and EXE files.
>
> Instead of putting the DLL and EXEs into the system directory, you can leave 
> them wherever you want, and every development project that uses the dll will 
> have to be told to search the netCDF directory when it's linking, or, the 
> chosen directory can be added to your path."
>
> The problem is, you never told me how to install the DLL.  That was the 
> title, 
> remember?  how do i install it?  do i download a file, save it to a 
> directory, 
> and then run a progam?  this is the way that things are "installed" in 
> Windows.  what does it mean to "get" a DLL?  how do i "install it somewhere"? 
>  
> what does it mean to "put" a DLL "there"?  do i just unzip and copy the 
> netcdf.dll file in a directory? is that what you call installing?  i call 
> that 
> copying.  maybe there's some platform specific jargon that's getting confused 
> here, but it's about time people that offer help to Windows users started 
> using language that Windows users can understand.

OK, I can see that you are frustrated with the installation manual!
Well, I can certainly understand that. And let's face it, dealing with
Windows doesn't help either!

I've just added the following to that manual. Tell me if it doesn't
clear things up, and make the manual more useful to someone in your
position:

Whether you get the pre-built DLL or build your own, you'll then have
to install it somewhere so that your other programs can find it and
use it.

To install a DLL, you just have to leave it in some directory, and
(possibly) tell your compiler what directory to look for it in.

A DLL is a library, and functions just like libraries under the Unix
operating system. As with any library, the point of the netCDF DLL is
to provide functions that you can call from your own code. When you
compile that code, the linker needs to be able to find the library,
and then it pulls out the functions that it needs. In the Unix world,
the -L option tells the compiler where to look for a library. In
Windows, library search directories can be added to the project's
property dialog.

Similarly, you will need to put the header file, netcdf.h, somewhere
that you compiler can find it. In the Unix world, the -I option tells
the compiler to look in a certain directory to find header files. In
the Windows world, you set this in the project properties dialog box
of your integrated development environment.

Therefore, installing the library means nothing more than copying the
DLL somewhere that your compiler can find it, and telling the compiler
where to look for them.

The standard place to put DLLs is Windows\System32 folder (for
Windows2000/XP) or the Windows\System folder (for Windows 98/ME). If
you put the DLL there, along with the ncgen and ncdump executables,
you will be able to use the DLL and utilities without further work,
because compilers already look there for DLLs and EXEs.

Instead of putting the DLL and EXEs into the system directory, you can
leave them wherever you want, and every development project that uses
the dll will have to be told to search the netCDF directory when it's
linking, or, the chosen directory can be added to your path.

Ed

-- 
Ed Hartnett  -- address@hidden