Allgemeine Fehlermeldung (Linker)
-
jup da steht was von WinMain@16
Der Buildvorgang wurde am 12.10.2012 12:08:13 gestartet.
PrepareForBuild:
Das Verzeichnis "C:\Users\Arthur\Documents\Visual Studio 2010\Projects\12oct\Debug\" wird erstellt.
InitializeBuildStatus:
"Debug\12oct.unsuccessfulbuild" wird erstellt, da "AlwaysCreate" angegeben wurde.
ClCompile:
12oct.cpp
MSVCRTD.lib(crtexew.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_WinMain@16" in Funktion "___tmainCRTStartup".
C:\Users\Arthur\Documents\Visual Studio 2010\Projects\12oct\Debug\12oct.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.Fehler beim Erstellen
-
Hmm, vielleicht kein Win32 Konsolenobjekt erstellt, oder den Parameter dafür nicht gesetzt?
-
der link error kommt weil du nicht C++ kannst:
int main() {}und schon ist alles OK
-
@booost dazu sage ich jetzt mal nichts....
@grashooper
Welchen Parameter?
Ich wähle doch ein Win32-Projekt aus? Oder war das die Win32-Konsolenanwendung? Aber damit geht das auch nicht.
-
Hmm, ich habe eben zum Testen ein Win32-Konsolenprojekt erstellt und das Häckchen bei leeres Projekt gemacht. Dann eine CPP Datei hinzugefügt und dann deinen Code hier per Cut&Paste reingkopiert. Mit Strg+F5 kompilieren und starten lassen und alles hat fein funktioniert.
#include <iostream> using namespace std; float mittelwert(float a,float b); void main (void) { float ergebnis =0; ergebnis=mittelwert(2,7); cout << ergebnis << endl; } float mittelwert(float a,float b) { float funktion; funktion = (a+b)/2; return funktion; }Ergbnis, ein Konsolenfenster hat sich geöffnet mit der Ausgabe 4.5
-
Genau das muss raus kommen.
Nun bei mir heißt das eben Win32-Projekt. Also wie schon vermutet mache ich beim erstellen des Projektes einen Fehler oder in den Linker Einstellungen muss ich was ändern.
Aber ich warte jetzt mal auf die Antwort von hustbaer,DarkShadow44 bzw. pumuckl.
siehe Fehlermeldung-->mit der ich nichts anfangen kann

-
Win32-Projekt ist nix für reine Konsolenausgaben mit int main(), da wird ein andere Einstiegspunkt verlangt und auch das sagt der Linker, nämlich dass er diesen Punkt nicht bei dir findet.
Du musst unter den Linkersettings deines Projektes unter System das Subsystem /SUBSYSTEM:CONSOLE einstellen, du hast da wahrscheinlich WINDOWS stehen.
-
Nun bei mir heißt das eben Win32-Projekt
Nein das heißt auch bei dir nicht anders.
"Win32-Konsolenanwendung" bedeutet das du nur ein Konsolenfenster hast. "Win32-Projekt" ist für eine grafische Oberfläche (oder gar kein Fenster).
Der wichtige Unterscheid ist, dass du einen anderen Einstiegspunkt brauchst. Du hast die falsche Einstellung, d.h. dass er den Einstiegspunkt den er sucht nicht findet und dir den Fehler wirft.
Wie du diese Einstellung änderst hat Grasshopper ja schon vollkommen richtig ausgeführt.
-
Also bei mir führt "Win32-Konsolenanwendung" zu einem Projekt mit einer seltsamen _tmain.
Ich empfehle einfach "Leeres Projekt", Hinzufügen einer neuen main.cpp und Eintragen des Codes da rein.
-
Grasshopper schrieb:
Win32-Projekt ist nix für reine Konsolenausgaben mit int main(), da wird ein andere Einstiegspunkt verlangt und auch das sagt der Linker, nämlich dass er diesen Punkt nicht bei dir findet.
Du musst unter den Linkersettings deines Projektes unter System das Subsystem /SUBSYSTEM:CONSOLE einstellen, du hast da wahrscheinlich WINDOWS stehen.
Das war es! Vielen Dank! Warum auch immer das auf Windows stand gibt es sicher auch eine Erklärung
