Error al usar Dynamic Linking

Buenas a todos!

Lo primero de todo, gracias por el trabajo que hacer, es una obra de arte!

Dados los agradecimientos, voy al problema, he leído lo de poder hacer cambios y compilaciones en caliente con los últimos cambios de TC, y quería probarlo, así que he cogido mi código que funciona perfectamente, he puesto la opción dynamic linking en cmake, he generado el proyecto, y cuando voy a compilar, una gran gran cantidad de mis scripts custom me tiran un error:

LNK2019

Ejemplo:
Error LNK2019 símbolo externo “public: class nsNpcTel::Page::Instance & __cdecl nsNpcTel::Page::Instance::operator++(void)” (??EInstance@Page@nsNpcTel@@QEAAAEAV012@XZ) sin resolver al que se hace referencia en la función “public: virtual bool __cdecl npc_teleport_gossip::npc_teleportAI::GossipSelect(class Player *,unsigned int,unsigned int)” (?GossipSelect@npc_teleportAI@npc_teleport_gossip@@UEAA_NPEAVPlayer@@II@Z) worldserver D:\SirionCore\Source\src\server\worldserver\scripts.lib(ns_teleport.obj) 1

No son todos los scripts, he visto que son los que tienen una parte en game, y otra parte en scripts (por ejemplo los scripts que son puro gossip no dan problemas)

Se que los scripts deberían funcionar porque si hago cmake sin dynamic linking, compila sin problema y se ejecutan bien

Estoy usando VS 2017 sobre Windows 10. Boost 1.64 y cmake 3.8.0 rc1

Alguna idea de que puede pasar?

Gracias por la ayuda!!!

Hi,

it seems like you are missing some TC_GAME_API macros in your custom code.

Probably you can fix your issues through adding those at the required placed.

Maybe you could take a look at the other parts of TrinityCore to find out where those are needed (usually after the class keyword and in front of functions in headers).

Hi Naios,

Yes, i rewrited my code adding the TC_GAME_API and some extern reference, and now all is right

TY