If you use Q_OBJECT (i.e. declare signals, slots, properties, Q_ENUMs...) then you need the code compiled by moc. (The Q_OBJECT macro declares stuff the the moc-generated code defines.)
HTH
I removed the re-definition in moc_Controller, now it works fine. I do not understand why moc_Controller want to redefine my function.
Bookmarks