Verknüpfen mit mehreren .obj zum Komponententest einer Konsolenanwendung

7

Ich habe ein paar Probleme und hoffe, ich kann Hilfe finden.

Ich habe zwei Projekte unter derselben Lösung in Visual Studio 2012

Ein bisschen Hintergrund Ich cam erstellen eine Konsolenanwendung, die als .exe ausgibt, das ist in einem Projekt.

In einem anderen Projekt habe ich Google Test eingerichtet, um Komponententests für die Klassen im Konsolenanwendungsprojekt auszuführen.

Wenn ich das Hauptprojekt in eine statische Bibliothek kompilieren könnte, gäbe es kein Problem aufgrund der Verbindung zur .lib, dies ist jedoch keine Option.

Ich habe festgestellt, dass das Verknüpfen mit der .obj funktioniert, aber ich muss sie manuell in den Linker eingeben - & gt; Eingabe und aufgrund der es wird eine große Anzahl von Klassen Ich kann sehen, dass dies unordentlich.

Wie löse ich dieses Problem, gibt es eine Möglichkeit, mit allen .obj im selben Ordner zu verknüpfen oder gibt es eine Option, die ich vermisse?

    
Chris Crew 21.10.2013, 13:45
quelle

1 Antwort

20

Ich hatte genau die selbe Konfiguration wie deine und das habe ich gemacht:

Ich habe das LIB-Dienstprogramm von Visual Studio verwendet, um alle .obj-Dateien in eine .lib-Bibliothek zu schreiben, und dann könnte ich mein gtest-Projekt darauf verlinken.

Setzen Sie den Befehl

%Vor%

in die "Build-Ereignisse" / "Post-Build-Ereignis" Ihres Hauptprojekts, können Sie Ihre Konsolenanwendung als .exe behalten und gleichzeitig alle Ihre obj-Dateien zu einer aktuellen lib zusammenfassen.

Ich hoffe, es hilft!

Übrigens ist dieses Problem ein wenig mit diesem Post vergleichbar: Linker Fehler - Verknüpfen von zwei" Anwendung "Typ Projekte, um Google Test zu verwenden und ich denke, es könnte nützlich sein, hier zu verknüpfen.

    
toussa 31.10.2013, 15:45
quelle

Tags und Links