martes, 1 de abril de 2025

undefined reference to vtable for MyClass

 Normalmente cuando el compilador reporta el error "undefined reference to vtable for MyClass" es porque

  • Una funcion miembro sobrecargada no se marco como "virtual"
  • La funcion miembro sobrecargada no esta definida( no se ha implementado el cuerpo de la funcion)
Pero hoy encontre un caso diferente, mientras creaba una clase derivada de QObject para un servicio que usa QtBluetooth, ambos casos estaban cubiertos. El problema resulto ser que no estaba activo el MOC (Meta Object Compiler).
Para Arreglarlo solo hay que activarlo con una variable en el archivo 
CMakelists.txt


cmake_minimum_required(VERSION 3.30)
project(bleservice)
set(CMAKE_AUTOMOC ON)
view raw CMakelists.txt hosted with ❤ by GitHub

Debe ir antes del comando "add_executable"

No hay comentarios:

Publicar un comentario