Ich hatte ein sehr seltsames Problem mit Precompile-Header. Der Linker generiert LNK2019: nicht aufgelöster externer Symbolfehler, wenn ich Methode in CPP-Datei implementiere. Das Programm könnte jedoch kompiliert werden, wenn ich die Methode in der .h-Datei implementiere. Ich habe zufällig eine Lösung gefunden, aber ich habe keine Ahnung von der Ursache dieses Fehlers.Visual C++ Linking LNK2019 Fehler mit einem vorkompilierten Header
Meine Projektstruktur sieht wie folgt aus
Lösung
-> Projekt 1
-> Projekt 2
Projekt 1 hat 3 Dateien. A.h, A.cpp und stdafx.h
In Projekt 2. Ich möchte A-Klasse verwenden.
Datei whatever.cpp
#include "stdafx.h"
#include "../Project1/A.h"
...
A* a_obj = new A();
...
In der Kompilierung, der Linker Berichte nicht aufgelöste externe Symbol Fehler für die A Konstruktion Funktion. Wenn ich den Konstruktor in der A.h-Datei implementiere. Das Projekt2 konnte erfolgreich durchgeführt werden. Ich möchte wissen, warum kann die Implementierung nicht in A.cpp Datei setzen? Was ist der richtige Weg, um Vorkopie-Header zu organisieren?
Danke
Danke, Der zweite Ansatz funktioniert gut für mich – LNK2019