CPPUNIT - CPPUNIT_PLUGIN_IMPLEMENT - "mfcs71ud.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in ma



  • moinsen,
    ich arbeite mit VS C++ 2003.
    In einem Projekt verpacke ich alle meine Klassen zu einer LIB.
    In einem weiteren Project lade ich diese LIB und möchte mit CPP-Unit eine DLL bauen(für DllPlugInTester).
    Habe die Anleitung von http://cppunit.sourceforge.net/doc/1.11.6/group___writing_test_plug_in.html verwendet.

    Leider wirft der Linker den oben beschriebenen Fehler...

    ich bin seit 2tagen am "basteln"(solangsam kommt es mir wirklich so vor) und zweifel an meinem Ansatz/Vorgehen.

    bin also über jeden rat dankbar.



  • Hallo,

    trifft vielleicht das hier:

    http://support.microsoft.com/kb/148652/en-us

    zu?

    MfG,

    Probe-Nutzer



  • kurz nochmal zusammengefasst
    project1 - TestAppliction
    project2 - Lib mit allen Klassen
    project3 - CPPUnit Test Project

    in project3 linke ich project2, um in den Testklassen meine Objecte erzeugen zu können.

    leider habe ich in meinem TestProject CPPUNIT_DLL & _USRDLL definiert (#define ...)

    das hatte zur folge, dass alle Header, die in den Testklassen angezogen habe mit "_declspec(dllexport)" und nicht "_declspec(dllimport)" angezogen wurden...

    und so kam es dazu, dass ich zwei einsprungpunkte für meine TestProject hatte.

    Beheben des Problems: im TestProject die "#define _USRDLL" entfernen (bzw die preprozessor definition entfernen)

    (wenn es jemand besser erklären kann, nur zu)

    gruß


  • Mod

    Was ist das für eine Lib? Statisches Projekt oder nur eine Import-Lib?


Log in to reply