> > > > extern _IMPEXP_BE BApplication *be_app; > > > > and I just have no idea about the meaning of the _IMPEXP_BE. > > > > > > > it used to be defined to some metrowerks specific pragmas to > > > either > > > tell > > > the symbol will be EXported (when building libBE), or IMPorted > > > (from libBE). > > > With gcc, just #defineing it should be enough. > > > > Is there a way to get this behaviour with GCC. ie only exporting > > symbols that you want exported? > > Yes, AFAIK, the (linker) parameter is --no-export-all-symbols. > In Windows you need to use the dllexport/dllimport options when > using --no-export-all-symbols, so I think that > in BeOS it is needed, too. > I used the Dev-C++ IDE and it enabled this option for all projects by > default. The skeleton dll project used a small header that defined > something > similar to IMPEXP and for the dll you defined BUILDING_DLL (I forgot > the > names), so that IMPEXP means dllexport and if it is not defined it > means > dllimport. > Maybe the output format adds some restrictions on this, so that the > linker > in BeOS does not support --no-export.... > You could test it and tell us if it works. ;) Does not seem to have any effect. It looks to be a dlltool parameter rather than a gcc linker one. I will research it some more, perhaps it needs something else as well. Cheers David -- Collaboration, n.: A literary partnership based on the false assumption that the other fellow can spell.