Strange linkage problem with Visual C++ 2005 -
Please help me, I have a strange problem that I can not sort out in any way.
Complex: I am using Visual C ++ 2005 in Windows 7 7x64, and I'm sure that Linux is running well with G ++ because my code is bad is not.
I am developing an application which
I get two mysterious LNK 2019 errors in the link phase of the application.
This is the title of one of the library's classes:
Nameshot sulfur {class quark {public: ... addAccel (const Vec2 & Amp; a); ... different methods personal: ... different data}; }
Obviously in CPP file I'll provide an implementation for addAccel with the same signature.
When I try to link applications with the library, all other addAccel members get jobs except.
Linker "searches for symbol" addAccel @ quark @@ QAEXABV? $ TemplateVec2 @ M @ Atlax @@@ Z
While in the .lib file (which I got to use for Dumpbins) "? AddAccel @ quark @ sulfur @@ qAEXABV? $ TemplateVec2 @ m @ Attacks @@ @ z ". The only difference here is that the lancer searches for a messy name without the namespace and why I do not know.
I have tried to change the name, status, conference and change the metad's signature, but there is no benefit, there is always a single error.
The second error is very similar. I have another heading in the library:
Nameshot sulfur {class cluster {... quark * addrat (sulfur :: feature feat, float x, float y, float m = 0.1f, Float air force = 0.01f); ...}; }
and a correct implementation file is provided. As before, all the other ways are properly linked, but addatt not.
Search for "linker" @ cluster @ sulfur @@ QAEPAVighty @@W4Feature @ 2 @ mmmm @ jade "
but in the library" editions @ cluster @ sulfur @@ qaappayet @ 2 @ y4 feature @ 2 @ mmmm @ jade ".
This time the difference is the absence of the first '2' between the version in which the compiler searches for '@'.
This is not the first time that I create this application with Visual Studio and it is always properly connected,
Where and how < Code> zero addAccel (const Vec2 & one); The function is implemented? Are you sure you are missing the quark ::
prefix on the implementation of the function?
Comments
Post a Comment