Fehler LNK2019: nicht aufgelöstes externes symbol in einem mehrere Projekte Lösung

Habe ich eine visual studio solution mit mehreren Projekten. Einer von Ihnen, "MyProject" ist eine statische Bibliothek (.lib). Das Projekt, unter vielen anderen Klassen hat zwei Klassen "A" und "B".

A. h:

#pragma once

class A
{
public:
    void foo();
};

A.cpp:

#include A.h

void A::foo(){
        //do something
}

B. h:

#pragma once

class B
{
public:
    void bar();
};

B.cpp:

#include B.h
#include A.h

void B::bar(){
        A a;
        a.foo();
}

Ohne Kompilierungsfehler, den ich bin immer die Verknüpfung Fehler:

OtherProject.lib(B. obj) : error LNK2019: nicht aufgelöstes externes symbol "public: void __thiscall
A::foo(void)" (?foo@A@@QAE_NXZ) verwiesen in Funktion "public: void
__thiscall B::bar(void)" (?bar@B@@QAEXXZ)

Alles scheint in Ordnung zu sein. Ich sehe die Kompilierung von A.cpp. Gebäude oder-Verknüpfung nur das Projekt "MyProject" in Ordnung ist. Aber wenn Sie versuchen zu bauen die ganze Lösung, ich bin immer der Fehler.

Dank!

Sie sind nicht zu verknüpfen, um die Umsetzung korrekt.
Ich denke mal so :). Was kann es sein?
Wie baut man es? Sind alle diese Dateien in Ihrem Projekt?
Alle Dateien sind in das Projekt.
möglich, Duplikat der Was ist eine undefined reference/nicht aufgelöstes externes symbol Fehler und wie behebe ich es?

InformationsquelleAutor Sanich | 2013-03-22

Schreibe einen Kommentar