Microsoft Visual C++ 2005 Express Edition NEWBIE FRAGE
-
Hi,
schon langsam bin ich verzweifelt, bin absoluter c++/vc newbie und eigentlich wollte ich nur ein erstes "Hello World" Programm zum laufen bringen. Aber ich bekomm es einfach nicht hin :(.
Wie erstellt man also bitte in VC++ ein einfaches C++Programm ?
bzw. wenn ich es in der Konsole per cc/gcc/lc versuche zu compilieren kommen auch nur Fehlermeldungen.
#include <iostream> int main() { std::cout << "Hello, world!\n"; }bzw. Konsole "cc hallo.cpp" liefert:
/tmp/ccg5fveM.o(.text+0x25): In function
main': hallo.cpp: undefined reference tostd::cout'
/tmp/ccg5fveM.o(.text+0x2a):hallo.cpp: undefined reference tostd::basic\_ostream<char, std::char\_traits<char> >& std::operator<< <std::char\_traits<char> >(std::basic\_ostream<char, std::char_traits<char> >&, char const*)' /tmp/ccg5fveM.o(.text+0x47): In function__tcf_0':
hallo.cpp: undefined reference tostd::ios_base::Init::~Init()' /tmp/ccg5fveM.o(.text+0x74): In function__static_initialization_and_destruction_0(int, int)':
hallo.cpp: undefined reference tostd::ios_base::Init::Init()' /tmp/ccg5fveM.o(.eh\_frame+0x11): undefined reference to__gxx_personality_v0'
collect2: ld gab 1 als Ende-Status zurückICH BITTE UM HILFE !!
mfg,
soad
-
ich glaube das das "int" vor main nicht ganz funzt, das du ja nichts zurücklieferst. mach mal nen "void" draus und probiers nochmal.
-
Mach mal:
#include <tchar.h> #include <iostream> int _tmain() { std::cout << "Hello, world!\n"; }
-
"int main()" ist schon richtig, aber möglicherweise versuchst du, das durch einen C-Compiler zu jagen. (was für Fehler meldet denn der VC?)
-
IMHO ist main nicht korrekt. Es müsste entweder _tmain heißen oder wmain, weil unter VC2005 alle Projekte als Unicode Projekte erzeugt werden.
Andere Frage wäre ob dieses Projekt "Managed" eingestellt ist oder "Native", also wird die /CLR verwendet oder nicht.
-
CStoll schrieb:
"int main()" ist schon richtig, aber möglicherweise versuchst du, das durch einen C-Compiler zu jagen. (was für Fehler meldet denn der VC?)
Also, wenn ich versuche den code zu "builden", dann bekomme ich:
Linking...
MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
hello.exe : fatal error LNK1120: 1 unresolved externals
-
Martin Richter schrieb:
IMHO ist main nicht korrekt. Es müsste entweder _tmain heißen oder wmain, weil unter VC2005 alle Projekte als Unicode Projekte erzeugt werden.
Andere Frage wäre ob dieses Projekt "Managed" eingestellt ist oder "Native", also wird die /CLR verwendet oder nicht.
Wie sehe ich das? bin halt leider noch ein newbie :(...
-
anscheinend fehlen mir die sdl.lib, sdlmain.lib. wie komme ich zu denen bzw. wie muss ich die in meinem projekt verlinken ??
sg,
soad
-
RTFM..
Project -> Properties -> Linker -> Additional Dependencies -> Files reinschreiben
-
hi,
anscheinend hab ich diese files gar nicht. muss ich noch zusätzlich das Server 2003 SDK installieren?
mfg,
soad
-
SDL != SDK
Google.de -> SDL -> Download -> bla
-
Danke, jetzt hab ich es zumindestens einmal geschafft, dass der Compiler nicht aufschreit, aber wenn ich die Applikation starten will, schreit er er kann die foo.exe Datei nicht finden:(.
-
int main(int argc, char** arcv) { }Das ist nach meinem Kenntnisstand korrektes C++. Bei main() muss man nichts "return"en, obwohl der Typ des Returnwert "int" sein muss. Ist natürlich etwas pervers bzw. seltsam, aber naja.
BTW:
int main() {}ist soweit ich weiss auch erlaubt.