error LNK2019: Nicht aufgelöstes externes Symbol '_main', verwiesen in Funktion '_mainCRTStartup'
-
Gibt es denn überhaupt eine wie auch immer geartete MFC-Anwendung, die eine WinMain beinhaltet?
Nach mächtig langem googlen habe ich schon ne Menge wiedersprüchliche Sachen gelesen...
Einige sagen, es gäbe überhaupt gar keine WinMain.
Dann heißt es, vier andere Funktionen (InitInstance, usw.) würden die Funktion der WinMain übernehmen.
Wahlweise wird auch gesagt, es gäbe eine WinMain, die sei aber nur sehr gut und sehr tief versteckt.
-
Ändere mal deine Laufzeitbibliothek einstellung unter:
Project propertys -> C/C++ -> Codeerstellung -> Laufzeit Bibliotek
auf Multithreaded-Debug-DLL (/MDd) und link mal neu. Vielleicht passt doch die Laufzeitbibiotek nicht.
-
Schade, der Tip hat leider nicht funktioniert...
Habe aber auch mal alle anderen Optionen ausprobiert und vom Linker nur die Antworten "Please use /MD Switch" erhalten.
Scheint nicht ganz einfach zu lösen sein - also ne nette Herausforderung fürs Forum
-
Schau mal hier rein:
http://groups.inetbot.com/showgrp/microsoft_ppublic_pde_pvc_s1490.html
könnte helfen
-
könnte, tut aber nicht
In dem Artikel wurde als Lösungsvorschlag
"Gelöst: Laufzeitbibliothek (C/C++ - Codeerstellung) stand auf Multithreaded-Debug (/MTd). Auf Multithreaded-Debug-DLL (/MDd) geändert. Nun lässt es sich fehlerfrei linken und compilieren. Ebenso, wenn ich "Singlethreaded (/ML)" umstelle."
präsentiert.
Das habe ich aber vorher schon mal ausprobiert...
Mit wenig bis gar keinem Erfolg...
-
Es gibt Neuigkeiten, habe eine Readme und ein VS Projekt gefunden...
Da steht geschrieben:
-----------------------------------------------------------
Windows
-------Die statische Bibliothek wurde mit Visual Studio .NET 2003 getestet und ein Projekt hierfür erzeugt.
Da Visual Studio das Exportieren eines Makefiles nicht mehr unterstützt, wurde auf ein Makefile verzichtet.Zum Übersetzten öffnet man das Projekt 'libseq.vcproj' in Visual Studio und wählt die gewünschte
Konfiguration. Es sind vier Konfigurationen vorhanden:- Debug
Single-Threaded Debug -> libseqd.lib - Debug_mt
Multi-Threaded Debug -> libseqmtd.lib - Release
Single-Threaded Release -> libseq.lib - Release_mt
Multi-Threaded Release -> libseqmt.lib
Zum Erstellen der Bibliotheken jeweils die gewünschte Konfiguration auswählen und erstellen lassen
(Erstellen -> Projektmappe erstellen). Die Bibliothek wird im Unterverzeichnis 'WIN32' gespeichert.
Vor dort aus kann man sie in das gewünschte Verzeichnis für Bibliotheken kopieren.Die notwendigen Header-Dateien liegen alle im Projektverzeichnis und müssen nur ins
vorgesehene Verzeichnis kopiert werden.
-----------------------------------------------------------Habe daher auch schon alle vier Versionen der Bibliothek neu erstellt - mit demselben Ergebnis...
So langsam breche ich in meine Tastatur
- Debug
-
also ich verstehe das nicht...
Ich habe gerade mal spasseshalber alle Header und Quelldateien, die nötig sind, um die Bibliothek zu erstellen, von Hand zu meinem Projekt hinzugefügt - und siehe da, es funzt!
Jetzt frage ich mich, warum?
Wenn ich die Bibliothek selbst kompiliere und in mein Projekt hinzufüge, dann klappt es nicht - wenn ich nur die .h und .cpp hinzufüge, klappt es ohne Probleme.
Warum?
-
Post mal deine Declatation der Main Funktion, bitte.
Sonst kommen wir hier nicht weiter. Ohne code kann keiner sagen was nicht stimmt.
Es reicht dir nicht die *.lib in dein Projekteinstellungen als Abhängigkeit an zu geben, du musst natürlich auch den Header der *.lib in dein Projekt includieren.
-
Die Deklaration der main kann ich leider nicht bieten, da meine MFC Anwendung keine main hat - das ist ja mein Problem.
Die Header der lib habe ich vorher schon eingebunden - daran kann es also auch nicht liegen.
Ich bin aber mittlerweile an einem Punkt angekommen, an dem ich das jetzt einfach so lasse - das Einbinden aller Header und Quelldateien ist zwar nicht sehr elegant, funktioniert aber gut.
Ich danke Dir für Deine Mühe und Hilfe!
-
Gemeint ist ja auch nicht die Main in deiner Applikation
, sondern in deiner Library, da liegt ja das Problem.
Na ja ist auch eine Lösung mit dem einbinden der Files in die Applikation. Zwar nicht elegant, aber zweckmäßig.
codeman