Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

...

# if defined(_CalibData_CalibModel_cxx)
#  define  _EXTERN_
# elset
#  define  _EXTERN_ extern
# endif
 Apparently the CMT developers achieved this feat on Windows by dispensing with the DATA qualifier in their *.def file...this may not be absolutely technically correct but it's ok and simplifies life:

Ok, one only need a little bit into the linker documentation to find:
Note that when you export a variable from a DLL with a .def file, you do not need to specify *_declspec(dllexport)* on the variable. However, in any file that uses the DLL, you must still use *_declspec(dllimport)* on the declaration of data.
so, with the "new" cmt we are perhaps not being as politically correct as we should be but it means we don't need to insert dllimport into the code. With my fix we would need to insert the dllimport stuff.
Tracy

This apparently works for Jim in ST, but we had to ultimately revert to Joanne's original workaround in CalibData that links in the object file on windows - so v1r18 was not as grand as we had hoped.