Prev Up Next Index
Go backward to 4.3.2 Different Ways of Using Constraint Expressions
Go up to Contents
Go forward to 6 DAP C++ Reference

5 Linking Your Program

To link a user program to the DODS client-library version of a data access API library, you need only substitute the name of the reimplemented API library for the original, and add the DODS Data Access Protocol library (libdap++) to the link list.

Because the DAP library and the API have circular dependencies they must each be included on the linker command line twice. An example of this can be seen in the DODS-NetCDF Makefile; the value of LIBS is passed to the linker ld. Note that the API library is listed first.  

LIBS = -lnc-dods -ldap++ -lnc-dods -ldap++ 

You should have users link their programs using gcc or g++ since the libraries are all built using those tools. In particular, g++ includes libstdc++ (and libg++) by default when it builds an executable program from object modules. If you use gcc instead of g++ when you link, be sure to include these libraries as well after all the libraries listed above. If you don't use gcc, but instead use the linker directly (i.e, you call ld yourself) you are on your own - you can use gcc -V to determine what flags and additional libraries it uses that are specific to your system and then experiment with those. We cannot tell you how to proceed since each UNIX variant requires different flags and libraries.


Tom Sgouros, July 2, 2004

Prev Up Next