Unresolved external symbol linker errors for C++ class implementations See more: C++Zoom Question:
I'm working on a project that involves integrating the Zoom SDK into my application. As part of this integration, I'm trying to implement a custom class named RawAudioDelegate to handle raw audio data. However, I'm encountering linker errors related to unresolved external symbols when trying to build my project.
Description:
I have a class named RawAudioDelegate which inherits from IZoomSDKAudioRawDataDelegate from the Zoom SDK. In my header file RawAudioDelegate.h, I have declared two methods: onOneWayAudioRawDataReceived and onMixedAudioRawDataReceived. The implementations for these methods are provided in a separate .cpp file named RawAudioDelegate.cpp.
The issue arises during the linking phase, where I get the following linker errors:
Error LNK2001: unresolved external symbol "public: virtual void __thiscall RawAudioDelegate::onOneWayAudioRawDataReceived(class AudioRawData *,unsigned int)" ... Error LNK2001: unresolved external symbol "public: virtual void __thiscall RawAudioDelegate::onMixedAudioRawDataReceived(class AudioRawData *)" ...
What I have tried:
I have checked that the RawAudioDelegate.cpp file is included in the project. I verified that the header guard in RawAudioDelegate.h is correctly defined. I confirmed that I'm using the correct configuration (x86/x64) to match the SDK and project architecture. I have checked that I'm correctly linking against the necessary Zoom SDK libraries.