[netcdf-porting] avoiding MSC_EXTRA definition
Ed Hartnett
ed at unidata.ucar.edu
Thu May 1 09:18:01 MDT 2008
dennis neal <neon10 at hotmail.com> writes:
> Hello;
>
> I have been able to write the LinkDef.h header file needed to generate a dictionary using rootcint (from CERN) in order to create a .so to include in ROOT. When I attempt to run the Ed H. test program I get an error
>
> extern MSC_EXTRA int err.
>
> Reading the netcdf.h header file, it seems that, if one wants a DLL,
> MSC_EXTERN and then EXTERNL are defined. I do NOT want MSC_EXTERN
> defined.
>
> How do I stop that from happening? I tried a #ifndef __GNUC__ macro
> but I need V2 (I eventually want to use AIA ANDI, built on netcdf
> V2) and it appears that some other things depending on EXTERNL being
> defined are needed by all operating systems (warning above the
> CRAYMPP /* */).
Usually this is defined in the config.h file, which is automatically
built by the configure script.
>
> Perhaps this is why Cygwin can not built the c++ interface? (Isnt
> the C++ interface dependent on V2 code?)
Hmm. Cygwin can build the C++ API.
Also the C++ API can be built without the v2 api. With the latest
snapshot, try:
./configure --disable-v2 && make check
> Where is creating a DLL defined? I reran configure with shared
> libraries as NO but still this code keeps being read. Why, using
> gcc, is an MSC variable created? Doesnt MSC mean Microsoft C?
DLL stuff is in the Makefile.am files.
> Any help I can get with this will be greatly appreciated and of
> course acknowledged in the final code.
Did you run the configure script?
Ed
--
Ed Hartnett -- ed at unidata.ucar.edu
More information about the netcdf-porting
mailing list