src: export Agent's constructor and destructor
Since node::Environment
includes node::debugger::Agent
as a member data, and the constructor and destructor of node::Environment
are inlined, we have to export Agent
's constructor and destructor, otherwise when Node is built as shared library we will get following error:
electron_lib.lib(electron_lib.node_main.obj) : error LNK2019: unresolved external symbol "public: __cdecl node::debugger::Agent::~Agent(void)" (??1Agent@debugger@node@@QEAA@XZ) referenced in function "private: __cdecl node::Environment::~Environment(void)" (??1Environment@node@@AEAA@XZ)
electron_lib.lib(electron_lib.atom_renderer_client.obj) : error LNK2001: unresolved external symbol "public: __cdecl node::debugger::Agent::~Agent(void)" (??1Agent@debugger@node@@QEAA@XZ)
electron_lib.lib(electron_lib.atom_renderer_client.obj) : error LNK2019: unresolved external symbol "public: __cdecl node::debugger::Agent::Agent(class node::Environment *)" (??0Agent@debugger@node@@QEAA@PEAVEnvironment@2@@Z) referenced in function "private: __cdecl node::Environment::Environment(class v8::Local<class v8::Context>,struct uv_loop_s *)" (??0Environment@node@@AEAA@V?$Local@VContext@v8@@@v8@@PEAUuv_loop_s@@@Z)