![]() |
![]() |
|
|||||||
| Register | Forum Rules | Getting Started! - Guide | Blog | Videos | Gallery | Members List | Social Groups | Mark Forums Read |
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
Guest
Posts: n/a
|
Understanding the __CxxCallUnwindDtor error
I am working on a managed C++ assembly (.Net 1.1) that is a go between
C# and a camera SDK. I am trying to create a set of classes to handle the images that come back from the camera, some times they will be RAW and others JPEG. I am getting the following error when I have a constructor in the base camera image class: unresolved external symbol "void __cdecl __CxxCallUnwindDtor(void (__thiscall*)(void *),void *)" What I have found is this: When I comment out the ~CameraImageBase(), the error goes away. When I put this code into a clean C++ CLI console application, it compiled just fine with the destructor. What could I be doing else where that is causing things not to work in the main code? Here is my code: public __gc class CameraImageBase : public IDisposable { public: CameraImageBase(int dataSize) { this->m_imageMemory = Marshal::AllocHGlobal(dataSize); } ~CameraImageBase() { Cleanup(); } void Dispose() { Cleanup(); } __property unsigned char __nogc* get_RawData() { return static_cast<unsigned char*>(m_imageMemory.ToPointer()); } protected: IntPtr m_imageMemory; private: void Cleanup() { if(this->m_imageMemory != NULL) { Marshal::FreeHGlobal(this->m_imageMemory); } } }; public __gc class CameraJpegImage : public CameraImageBase { public: CameraJpegImage(int dataSize) : CameraImageBase(dataSize) {} __property Image* get_Image() { return NULL; } }; |
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|
< Home - Windows Help - MS Office Help - Hardware Support >
| New To Site? | Need Help? |