DLL linke error and name mangling
-
I'm having trouble linking to a DLL that I've made. I have a project that uses multiple DLLs that we've created in house. Everything uses this one DLL that's has the most commonly used classes. Amazingly enough it's called common.dll. Anyway I'm having trouble linking to it in one of the other dlls. The signature that it gives in the error is ?StartServiceA@CTcpClient@@UAEHXZ. BUT the signature in the mapfile of common.dll and according to dependency walker is ?StartService@CTcpClient@@UAEHXZ. Common.dll as well as the CTcpClient class inside of it is used in many other things. They all link fine. One other note of interest. This linking error only happens when CTcpClient is created dynamically. If I create it using CTcpClient newClient(blah,blah,blah) all works. Thanks for the help. Here's the full linking error. Linking... Creating library ..\..\..\lib/NetTraffic.lib and object ..\..\..\lib/NetTraffic.exp ClientInterface.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall CTcpClient::StartServiceA(void)" (?StartServiceA@CTcpClient@@UAEHXZ) ..\..\..\lib/NetTraffic.dll : fatal error LNK1120: 1 unresolved externals nay