Aufsetzen eines C++ Projektes mit Visual Studio und Googe Test



  • Hallo,
    ich habe eine Frage zum Aufsetzen eines C++ Visual Studio Projekts mit Unit Tests via Google Test.
    Ich möchte ein simples C++ Projekt testen. Dieses Projekt(ConsoleApplication3) hat eine Datei(ConsoleApplication3.cpp) mit main und eine foo Methode, die einfach eine 1 zurückgibt.
    Habe zu dann eine GoogleTest Projekt aufgesetzt und in dem Projekt einen Verweis auf das andere Projekt gesetzt. Habe aber noch Problem mit der Durchführen des Tests. Linker Problem. Muss gucken, wie ich das hinkriege(test.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""int __cdecl foo(void)" (?foo@@YAHXZ)" in Funktion ""private: virtual void __thiscall TestCaseName_TestName_Test::TestBody(void)" (?TestBody@TestCaseName_TestName_Test@@EAEXXZ)".
    C:\Users\a\Source\Repos\ConsoleApplication3\Debug\GoogleTest.exe : fatal error LNK1120: 1 nicht aufgelöste Externe)
    Wäre der o.g. Workflow der gängige Weg? Oder gibt es einen besseren?
    Anbei der Link zu der Projektmappe: Projektmappe



  • Die Verweise gelten nur für C++/CLI (.NET) oder UWP-Projekte, nicht für Standard C++. Du mußt die Abhängigkeiten in den Linker-Einstellungen eintragen, s. Verwenden von Bibliotheken und Komponenten.

    Du solltest aber die zu testende Funktionalität von dem Hauptprogramm trennen, d.h. eine eigene "foo.cpp" für die Funktion benutzen.
    Dann könntest du auch direkt diese Datei als "Link" zu deinem Test-Projekt hinzufügen (so daß diese einzeln als "foo.obj" kompiliert und dazugelinkt wird).


Log in to reply