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

Popular posts from this blog

c# - sqlDecimal to decimal clr stored procedure Unable to cast object of type 'System.Data.SqlTypes.SqlDecimal' to type 'System.IConvertible' -

Calling GetGUIThreadInfo from Outlook VBA -

Obfuscating Python code? -