Hi,

I am trying to use C++ exceptions with PPC2003 SDK and
get the following unresolved externals:

y.obj : error LNK2001: unresolved external symbol "const
type_info::`vftable'" (??_7type_info@@6B@)
y.obj : error LNK2001: unresolved external symbol "void
__stdcall `eh vector destructor iterator'(void *,unsigned
int,int,void (__thiscall*)(void *))" (??
_M@YGXPAXIHP6EX0@Z@Z)
y.obj : error LNK2019: unresolved external symbol "void
__stdcall `eh vector constructor iterator'(void
*,unsigned int,int,void (__thiscall*)(void *),void
(__thiscall*)(void *))" (??_L@YGXPAXIHP6EX0@Z1@Z)
referenced in function _DllMain

Here is the code that generated the error messages:

struct A {
A() {}
~A() {}
};


BOOL APIENTRY DllMain( HANDLE hModule, DWORD
ul_reason_for_call, LPVOID lpReserved )
{
try {
A a[2];
throw 1;
} catch(int) {}
return TRUE;
}

Does Microsoft support C++ exceptions with WinCE.NET 4.2
(it seems so from the product page)? Did anyone get it to
work successfully?

Thanks!
Oleg

Re: C++ exceptions with Pocket PC 2003 by Maarten

Maarten
Fri Sep 05 00:07:06 CDT 2003

Even though CE 4.2 does suport C++ exceptions, PPC 2003 does not. Keep in
mind that PPC 2003 is a platform build on top of CE 4.2 and it seems that
the PPC people left C++ exceptions out of their platform.

--
Regards,

Maarten Struys
PTS Software bv

"Oleg Kibirev" <Oleg.Kibirev@oracle.com> wrote in message
news:260701c3734b$c4216450$a601280a@phx.gbl...
> Hi,
>
> I am trying to use C++ exceptions with PPC2003 SDK and
> get the following unresolved externals:
>
> y.obj : error LNK2001: unresolved external symbol "const
> type_info::`vftable'" (??_7type_info@@6B@)
> y.obj : error LNK2001: unresolved external symbol "void
> __stdcall `eh vector destructor iterator'(void *,unsigned
> int,int,void (__thiscall*)(void *))" (??
> _M@YGXPAXIHP6EX0@Z@Z)
> y.obj : error LNK2019: unresolved external symbol "void
> __stdcall `eh vector constructor iterator'(void
> *,unsigned int,int,void (__thiscall*)(void *),void
> (__thiscall*)(void *))" (??_L@YGXPAXIHP6EX0@Z1@Z)
> referenced in function _DllMain
>
> Here is the code that generated the error messages:
>
> struct A {
> A() {}
> ~A() {}
> };
>
>
> BOOL APIENTRY DllMain( HANDLE hModule, DWORD
> ul_reason_for_call, LPVOID lpReserved )
> {
> try {
> A a[2];
> throw 1;
> } catch(int) {}
> return TRUE;
> }
>
> Does Microsoft support C++ exceptions with WinCE.NET 4.2
> (it seems so from the product page)? Did anyone get it to
> work successfully?
>
> Thanks!
> Oleg



Re: C++ exceptions with Pocket PC 2003 by Udara

Udara
Fri Sep 05 04:34:03 CDT 2003

refer thread with topic "Try-catch support in an ATL COM developed with eVC
4.0 for PPC2003" in this same newsgroup.
UG

"Oleg Kibirev" <Oleg.Kibirev@oracle.com> wrote in message
news:260701c3734b$c4216450$a601280a@phx.gbl...
> Hi,
>
> I am trying to use C++ exceptions with PPC2003 SDK and
> get the following unresolved externals:
>
> y.obj : error LNK2001: unresolved external symbol "const
> type_info::`vftable'" (??_7type_info@@6B@)
> y.obj : error LNK2001: unresolved external symbol "void
> __stdcall `eh vector destructor iterator'(void *,unsigned
> int,int,void (__thiscall*)(void *))" (??
> _M@YGXPAXIHP6EX0@Z@Z)
> y.obj : error LNK2019: unresolved external symbol "void
> __stdcall `eh vector constructor iterator'(void
> *,unsigned int,int,void (__thiscall*)(void *),void
> (__thiscall*)(void *))" (??_L@YGXPAXIHP6EX0@Z1@Z)
> referenced in function _DllMain
>
> Here is the code that generated the error messages:
>
> struct A {
> A() {}
> ~A() {}
> };
>
>
> BOOL APIENTRY DllMain( HANDLE hModule, DWORD
> ul_reason_for_call, LPVOID lpReserved )
> {
> try {
> A a[2];
> throw 1;
> } catch(int) {}
> return TRUE;
> }
>
> Does Microsoft support C++ exceptions with WinCE.NET 4.2
> (it seems so from the product page)? Did anyone get it to
> work successfully?
>
> Thanks!
> Oleg



Re: C++ exceptions with Pocket PC 2003 by Michael

Michael
Fri Sep 05 05:19:29 CDT 2003

Actually PPC2003 does support C++ exceptions. It does not support, however,
RTTI. You are trying to use RTTI in your app, and thus the linker errors.

--

Michael Salamone
Entrek Software, Inc.
www.entrek.com


"Maarten Struys" <maarten.struys@nospam.pts.nl> wrote in message
news:ubgHJu2cDHA.2508@tk2msftngp13.phx.gbl...
> Even though CE 4.2 does suport C++ exceptions, PPC 2003 does not. Keep in
> mind that PPC 2003 is a platform build on top of CE 4.2 and it seems that
> the PPC people left C++ exceptions out of their platform.
>
> --
> Regards,
>
> Maarten Struys
> PTS Software bv
>
> "Oleg Kibirev" <Oleg.Kibirev@oracle.com> wrote in message
> news:260701c3734b$c4216450$a601280a@phx.gbl...
> > Hi,
> >
> > I am trying to use C++ exceptions with PPC2003 SDK and
> > get the following unresolved externals:
> >
> > y.obj : error LNK2001: unresolved external symbol "const
> > type_info::`vftable'" (??_7type_info@@6B@)
> > y.obj : error LNK2001: unresolved external symbol "void
> > __stdcall `eh vector destructor iterator'(void *,unsigned
> > int,int,void (__thiscall*)(void *))" (??
> > _M@YGXPAXIHP6EX0@Z@Z)
> > y.obj : error LNK2019: unresolved external symbol "void
> > __stdcall `eh vector constructor iterator'(void
> > *,unsigned int,int,void (__thiscall*)(void *),void
> > (__thiscall*)(void *))" (??_L@YGXPAXIHP6EX0@Z1@Z)
> > referenced in function _DllMain
> >
> > Here is the code that generated the error messages:
> >
> > struct A {
> > A() {}
> > ~A() {}
> > };
> >
> >
> > BOOL APIENTRY DllMain( HANDLE hModule, DWORD
> > ul_reason_for_call, LPVOID lpReserved )
> > {
> > try {
> > A a[2];
> > throw 1;
> > } catch(int) {}
> > return TRUE;
> > }
> >
> > Does Microsoft support C++ exceptions with WinCE.NET 4.2
> > (it seems so from the product page)? Did anyone get it to
> > work successfully?
> >
> > Thanks!
> > Oleg
>
>



Re: C++ exceptions with Pocket PC 2003 by Maarten

Maarten
Fri Sep 05 13:52:23 CDT 2003

Oops, of course you are right Michael. I messed up, probably not quite awake
at the time I replied.

--
Regards,

Maarten Struys
PTS Software bv

"Michael J. Salamone" <mikesa@entrek.com> wrote in message
news:enLqXd5cDHA.3520@tk2msftngp13.phx.gbl...
> Actually PPC2003 does support C++ exceptions. It does not support,
however,
> RTTI. You are trying to use RTTI in your app, and thus the linker errors.
>
> --
>
> Michael Salamone
> Entrek Software, Inc.
> www.entrek.com
>
>
> "Maarten Struys" <maarten.struys@nospam.pts.nl> wrote in message
> news:ubgHJu2cDHA.2508@tk2msftngp13.phx.gbl...
> > Even though CE 4.2 does suport C++ exceptions, PPC 2003 does not. Keep
in
> > mind that PPC 2003 is a platform build on top of CE 4.2 and it seems
that
> > the PPC people left C++ exceptions out of their platform.
> >
> > --
> > Regards,
> >
> > Maarten Struys
> > PTS Software bv
> >
> > "Oleg Kibirev" <Oleg.Kibirev@oracle.com> wrote in message
> > news:260701c3734b$c4216450$a601280a@phx.gbl...
> > > Hi,
> > >
> > > I am trying to use C++ exceptions with PPC2003 SDK and
> > > get the following unresolved externals:
> > >
> > > y.obj : error LNK2001: unresolved external symbol "const
> > > type_info::`vftable'" (??_7type_info@@6B@)
> > > y.obj : error LNK2001: unresolved external symbol "void
> > > __stdcall `eh vector destructor iterator'(void *,unsigned
> > > int,int,void (__thiscall*)(void *))" (??
> > > _M@YGXPAXIHP6EX0@Z@Z)
> > > y.obj : error LNK2019: unresolved external symbol "void
> > > __stdcall `eh vector constructor iterator'(void
> > > *,unsigned int,int,void (__thiscall*)(void *),void
> > > (__thiscall*)(void *))" (??_L@YGXPAXIHP6EX0@Z1@Z)
> > > referenced in function _DllMain
> > >
> > > Here is the code that generated the error messages:
> > >
> > > struct A {
> > > A() {}
> > > ~A() {}
> > > };
> > >
> > >
> > > BOOL APIENTRY DllMain( HANDLE hModule, DWORD
> > > ul_reason_for_call, LPVOID lpReserved )
> > > {
> > > try {
> > > A a[2];
> > > throw 1;
> > > } catch(int) {}
> > > return TRUE;
> > > }
> > >
> > > Does Microsoft support C++ exceptions with WinCE.NET 4.2
> > > (it seems so from the product page)? Did anyone get it to
> > > work successfully?
> > >
> > > Thanks!
> > > Oleg
> >
> >
>
>



Re: C++ exceptions with Pocket PC 2003 by sanjay

sanjay
Thu Sep 18 22:48:39 CDT 2003

So just to clarify, it seems like PocketPC 2003 does support C++
exceptions but not RTTI. If this is indeed correct, does the C++
excpetion handling mechanism require RTTI, because I continue to get
the "vftable" linkage error described below using Embedded Visual C++
4.0 SP2?

Thanks.

Sanjay

"Udara W Gunawardane" <udarag@empriseit.com> wrote in message news:<ewerOE5cDHA.2672@tk2msftngp13.phx.gbl>...
> refer thread with topic "Try-catch support in an ATL COM developed with eVC
> 4.0 for PPC2003" in this same newsgroup.
> UG
>
> "Oleg Kibirev" <Oleg.Kibirev@oracle.com> wrote in message
> news:260701c3734b$c4216450$a601280a@phx.gbl...
> > Hi,
> >
> > I am trying to use C++ exceptions with PPC2003 SDK and
> > get the following unresolved externals:
> >
> > y.obj : error LNK2001: unresolved external symbol "const
> > type_info::`vftable'" (??_7type_info@@6B@)
> > y.obj : error LNK2001: unresolved external symbol "void
> > __stdcall `eh vector destructor iterator'(void *,unsigned
> > int,int,void (__thiscall*)(void *))" (??
> > _M@YGXPAXIHP6EX0@Z@Z)
> > y.obj : error LNK2019: unresolved external symbol "void
> > __stdcall `eh vector constructor iterator'(void
> > *,unsigned int,int,void (__thiscall*)(void *),void
> > (__thiscall*)(void *))" (??_L@YGXPAXIHP6EX0@Z1@Z)
> > referenced in function _DllMain
> >
> > Here is the code that generated the error messages:
> >
> > struct A {
> > A() {}
> > ~A() {}
> > };
> >
> >
> > BOOL APIENTRY DllMain( HANDLE hModule, DWORD
> > ul_reason_for_call, LPVOID lpReserved )
> > {
> > try {
> > A a[2];
> > throw 1;
> > } catch(int) {}
> return TRUE;
> > }
> >
> > Does Microsoft support C++ exceptions with WinCE.NET 4.2
> > (it seems so from the product page)? Did anyone get it to
> > work successfully?
> >
> > Thanks!
> > Oleg

Re: C++ exceptions with Pocket PC 2003 by James

James
Fri Sep 19 10:22:14 CDT 2003

Sanjay,

It seems that Microsoft released a broken PocketPC SDK - PPC2003 does
support both C++ exceptions and RTTI but the SDK compiler fails to produce
the virtual destructor for type_info, so RTTI won't work and thus typed C++
exceptions won't either.

One person has suggested defining:

type_info::~type_info() {}

somewhere in your application, as a temporary workaround, but it's not clear
whether that will cause other problems!

Another way around this is apparently to get hold of some files from
www.entek.com, which provide their own RTTI support library - again, it's a
temporary fix until the SDK compiler gets sorted.

Hope that helps,

Dr. James Weatherall