2009-12-20 2 views
0

Je sais que tous les forums sont pleins de telles questions, mais j'ai essayé quelques hooks, et ils ne fonctionnent pas (ou je les fais mal).Une fois de plus: LNK2005 (maintenant ok) et LNK2019 (ok)

Alors, j'ai:

main.cpp <- fawn.h <- connector.cpp (defenition) <- conncetor.h (declaration) 

        <- portl.cpp (def)  <- portl.h (dcl)  <- connector.h 

avec incluent garde (grâce à Igor Zevaka et jk), tout est compilé, mais ne lie pas, dire "déjà défini dans main.obj" au sujet tous les fonct., aucun metter sont-ils statiques ou non.

J'ai déjà essayé de tirer le contenu de conncetor.h vers connector.cpp, de la même manière avec portl.cpp (il y avait #include "connector.h" dedans).

Merci d'avance.

+0

Pourriez-vous s'il vous plaît écrire l'erreur compilateur/éditeur de liens complet. Nous devons savoir de quel symbole il se plaint. – Skurmedel

+0

Oh, d'accord, n'a pas lu correctement. Il se plaint de chaque fonction? Pourrions-nous voir les parties pertinentes des fichiers? – Skurmedel

+0

Ahh ... C'est ... AAh ... Seigneur ... Je viens de renommer getSocket() à getSock() partout et ça marche :) Mais grande expérience - si quelque chose ne va pas dans VS juste essayer faire quelque chose sans but ... –

Répondre

1

Est-ce que fawn.h inclut connector.cpp? (ou est-ce que je l'ai mal lu?)

Si c'est le cas, c'est votre erreur. Maintenant connector.cpp (lui-même) a une fonction bla() et main.cpp a la même fonction car il inclut (read: copy-collé) connector.cpp. Et vous essayez de les lier ensemble. Pour la dernière erreur, assurez-vous que FAWN :: Sys :: Connecter :: getSocket (void) est implémenté quelque part (et que le fichier cpp dans lequel il se trouve est lié). On dirait que c'est juste manquant.

+0

Ah ... L'expérience de travailler avec des langages interprétables se fait sentir :) ... Maintenant ça marche presque ... Erreur 1 erreur LNK2019: référence externe non résolue au symbole "public: class boost :: asio :: basic_stream_socket > * __thiscall FAWN :: Sys :: Connecter :: getSocket (void) "(? ..... XZ) dans la fonction" private: void __thiscall FAWN :: Sys :: PortListner :: WaitForPromt (vide) "(? WaitForPromt @ PortListner @ Sys @ FAWN @ @ AAEXXZ) portlistner.obj –

Questions connexes