Linker Fehler WICHTIG!!!
-
So jetzt habe ich mich auch registriert.
Da man mir hier schon ab und mal geholfen hatte, hoffe ich, dass es dieses mal auch so sein wird.
Mein Problem:
In meinem Projekt füge ich bestehende *.cpp und *.h Dateien ein und erhalte dadurch die entsprechenden Klassen. Ich kann daraufhin auch das Projekt erstellen ohne Fehler. Auch Bereinigen und neues Erstellen funktioniert einwandfrei.
Aber jetzt: ich schließe das Projekt, um z.B. eine Sicherheitskopie davon zu erstellen. Wenn ich es jetzt neu öffne und versuche es zu erstellen bekomme ich einen Linker-Fehlermfcs71d.lib(dllmodul.obj) : error LNK2005: _DllMain@12 bereits in MSVCRTD.lib(dllmain.obj) definiert
Kann mir da jemand helfen? Bitte!!!
-
Hast du eventuell etwas an den Projekteinstellungen verbogen? Wenn die MFC-DLLs eingebunden werden, benötigst du afaik keine eigene DllMain()-Funktion.
-
Ich habe nur die Einstellung bei den Vorkommplierten-Datein geändert, da ich sonst nach dem Einfügen der Datein die Fehlermeldung mit dem "unerwarteten Dateiende erreicht" erhalte.
Aber es funktionier soweit alles, nur wenn ich das Programm neu öffne dann funktioniert es nicht mehr.
Habe es eben nochmal versucht und wieder das gleiche.
Es funzt; Programm schließen; Programm öffnen; Es funzt nicht!
Wo finde ich die DllMain()-Funktion?
Habe jetzt mal die Benutzung der Vorkommpilierten Dateien deaktiviert
Problem immer noch da!
-
Habe hier
http://support.microsoft.com/default.aspx?scid=kb;en-us;148652
anscheinend den Grund für meinen Fehler gefunden. Leider bezieht sich der Text auf VC++6.0. Ich besitze aber .NET 2003 deshalb kann ich nicht alle beschriebenen Stellen in den Projekteigenschaften lokalisieren.Solution One: Force Linker to Link Libraries in Correct Order
1. On the Project menu, click Settings.
2. In the Settings For view of the Project Settings dialog box, click to select the project configuration that is getting the link errors.
3. On the Link tab, click to select Input in the Category combo box.
4. In the Ignore libraries box, insert the library names (for example, Nafxcwd.lib;Libcmtd.lib).Note The linker command-line equivalent in /NOD:<library name>.
5. In the Object/library modules box, insert the library names. You must make sure that these are listed in order and as the first two libraries in the line (for example, Nafxcwd.lib Libcmtd.lib).Wäre super, wenn mir jemand sagen könnte wo ich die unter 5. beschriebene Stelle in .NET 2003 finden kann.
Danke schon mal für die Bemühungen.