[100%] Linking CXX shared library ../../../../lib/libenginempv.dylib Undefined symbols for architecture x86_64: "EngineBase::qt_metacall(QMetaObject::Call, int, void**)", referenced from: EngineMpv::qt_metacall(QMetaObject::Call, int, void**) in enginempv_automoc.cpp.o "EngineBase::qt_metacast(char const*)", referenced from: EngineMpv::qt_metacast(char const*) in enginempv_automoc.cpp.o "EngineBase::mediaChanged()", referenced from: EngineMpv::on_media_change() in engine_mpv.cpp.o "EngineBase::mediaFinished()", referenced from: EngineMpv::on_media_finished() in engine_mpv.cpp.o "EngineBase::stateToString(ENGINE::E_ENGINE_STATE)", referenced from: EngineMpv::handle_mpv_property_change(mpv_event*) in engine_mpv.cpp.o "EngineBase::volumeChanged()", referenced from: EngineMpv::setVolume(int const&) in engine_mpv.cpp.o "EngineBase::muteStateChanged()", referenced from: EngineMpv::setMuted(bool) in engine_mpv.cpp.o "EngineBase::staticMetaObject", referenced from: EngineMpv::staticMetaObject in enginempv_automoc.cpp.o "EngineBase::engineRequestStop()", referenced from: EngineMpv::on_media_finished() in engine_mpv.cpp.o "EngineBase::engineStateChanged()", referenced from: EngineMpv::handle_mpv_property_change(mpv_event*) in engine_mpv.cpp.o EngineMpv::on_media_error() in engine_mpv.cpp.o "EngineBase::mediaAboutToFinish()", referenced from: EngineMpv::on_media_about_to_finish() in engine_mpv.cpp.o "EngineBase::mediaMetaDataChanged()", referenced from: EngineMpv::on_metadata_change() in engine_mpv.cpp.o "EngineBase::mediaTotalTimeChanged(long long)", referenced from: EngineMpv::update_total_time() in engine_mpv.cpp.o "EngineBase::stop()", referenced from: EngineMpv::stop() in engine_mpv.cpp.o "EngineBase::mediaTick(long long)", referenced from: EngineMpv::handle_mpv_property_change(mpv_event*) in engine_mpv.cpp.o "EngineBase::EngineBase(QString const&)", referenced from: EngineMpv::EngineMpv() in engine_mpv.cpp.o "YarockSettings::INSTANCE", referenced from: YarockSettings::instance() in engine_mpv.cpp.o "Debug::debugStream(Debug::DebugLevel)", referenced from: Debug::warning() in engine_mpv.cpp.o Debug::debug() in engine_mpv.cpp.o Debug::error() in engine_mpv.cpp.o "MEDIA::registerTrackPlaying(ExplicitlySharedDataPointer, bool)", referenced from: EngineMpv::on_media_change() in engine_mpv.cpp.o EngineMpv::setMediaItem(ExplicitlySharedDataPointer) in engine_mpv.cpp.o "MEDIA::Media::~Media()", referenced from: MEDIA::Track::~Track() in engine_mpv.cpp.o "MEDIA::Track::path(QString const&)", referenced from: EngineMpv::setMediaItem(ExplicitlySharedDataPointer) in engine_mpv.cpp.o EngineMpv::setNextMediaItem(ExplicitlySharedDataPointer) in engine_mpv.cpp.o "typeinfo for EngineBase", referenced from: typeinfo for EngineMpv in enginempv_automoc.cpp.o "vtable for EngineBase", referenced from: EngineBase::~EngineBase() in engine_mpv.cpp.o NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [lib/libenginempv.dylib] Error 1 make[1]: *** [src/core/player/mpv/CMakeFiles/enginempv.dir/all] Error 2 make: *** [all] Error 2