I'm trying to compile various pieces of OBOS software for PPC. Here are some quick rules that both create better code and make my life a *lot* easier. 1. BEFORE you include your class interface file, do this: class _EXPORT MyFooClass. 2. Please put an _EXPORT before all exported global functions, like this: _EXPORT status_t MyFooFunction() { DoSomeStuff(); } 3. DON'T put default arguments in the function definition, only in the prototype. Your function will still get the defaults, don't fear. This is okay: void Foo(int i = 4); This is not: void Foo(int i = 4) {} 4. Always provide prototypes for non-inline functions. Come on, guys, this is just good practice! 5. Please (if you are still using makefiles) use the standard Be template. Don't make your own, and especially don't hardcode for gcc. I'll see about making jamfiles work. That's about it for this rant. Please, please, please, please obey these rules. You will make me very happy, and I might even send you an (e) candy bar. -Nathan -- Fortune Cookie Says: It's no surprise that things are so screwed up: everyone that knows how to run a government is either driving taxicabs or cutting hair. -- George Burns