Valeri, I could not export a global. Here's what happened I added R__EXTERN CAnalysis *gAnalysis to a class header file (outside the class definition!) and CAnalysis *gAnalysis; to the implementation file. When I built using a makefile based on the %ROOTSYS%\test\makefile.win32 I got the warning message: warning C4273: 'gAnalysis" : inconsistent dll linkage. dllexport assumed. The problem is that the variable is not global! when I try to use it from within a root session, I get Error: Symbol gAnalysis is not defined in current scope (this is after loading the DLL that contains R__EXTERN.. Here's my compile switches for file: cl -D_MT -D_DLL -MDd -nologo -G5 -GR -MD -DWIN32 -DVISUAL_CPLUSPLUS -D_ WINDOWS -Ic:\root/include -O2 -c CManage.cpp Command line warning D4025 : overriding '/MDd' with '/MD' CManage.cpp > Hi, > How do I export a global variable from a DLL? I am using VC++6 on Win32 > with root v3.02/07. Thanks. You should use cpp macro: R__EXTRERN YourClassHeaderFile.h: R__EXTERN MyClassGolbalVariable *gMyGlobal; Look up %ROOTSYS%/include/*.h file for the concrete examples examples (See attachment as well) Hope this helps. Valeri > > Ed Oltman > >
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:53 MET