In article <92194@palm-dev-forum>, [EMAIL PROTECTED] says...
> 
> Can this be done?  I ran the CW 8.2 wizard to generate the shared library
> stub code.  While running through the wizard, I selected the C/C++ option.
> However, when I took a look at the project settings, the "Active C++
> Compiler" was not checked.  So I checked that option and tried to compile
> the stub.  Now I am getting a link time error:

"Activate C++ Compiler" doesn't do what you think it does.  It really 
means "Force .c files to be compiled at C++".  Files with a .cp or .cpp 
extension will always be built as C++, no matter what this setting is.

> Link Error   : __RuntimeModule__: 'WkDchPluginInstall' referenced from
> '__DummyStartup__' is undefined.

This is due to name mangling from the C++ compiler.  It could be fixed 
by using extern "C" in an appropriate place.

> Can shared libraries be implemented in C++?  If so, what is the trick on
> getting around this link error?

In general, no.  You can use C++ to implement functions for a shared 
library, but you can't expose member functions across the shared library 
interface, you can use virtual member functions, and you can't use 
exceptions.

-- 
Ben Combee <[EMAIL PROTECTED]>
CodeWarrior for Palm OS technical lead
Get help at http://palmoswerks.com/

-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/

Reply via email to