anfänger-C-problem

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
zeppink
Beiträge: 8
Registriert: 06.12.2009 17:26:58

anfänger-C-problem

Beitrag von zeppink » 05.09.2010 20:42:04

moin,

da ich in sachen c-programmierung völlig planlos bin habe ich mich zuerst am "hello world!"-programm versucht.
mit bedingtem erfolg.
mit

Code: Alles auswählen

#include <stdio.h>

int main (int argc, char *argv[])
{
  printf("hello world!\n");
  return(0);
}
läuft mein programm. möchte ich das ganze mit cout in der folgenden form lösen:

Code: Alles auswählen

#include <iostream>
 
int main()
{
  std::cout << "hello world!" << std::endl;
  return 0;
}

bekomme ich fehler ausgegeben, mit denen ich nichts anfangen kann.
da mein programm eigentlich auch vielen vorgaben entspricht, die :google: ausspuckt,
liegt mein fehler wahrscheinlich bei headerfiles etc...
mit

Code: Alles auswählen

gcc -o helloworld helloworld.cpp
kompilere ich das ganze und bekomme folgende ausgabe:

Code: Alles auswählen

/tmp/cc3FZ6rX.o: In function `main':
helloworld.cpp:(.text+0x1c): undefined reference to `std::cout'
helloworld.cpp:(.text+0x21): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
helloworld.cpp:(.text+0x29): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
helloworld.cpp:(.text+0x31): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
/tmp/cc3FZ6rX.o: In function `__static_initialization_and_destruction_0(int, int)':
helloworld.cpp:(.text+0x60): undefined reference to `std::ios_base::Init::Init()'
helloworld.cpp:(.text+0x65): undefined reference to `std::ios_base::Init::~Init()'
/tmp/cc3FZ6rX.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
weiß jemand wo der wurm drin is?

es tut mir leid wenn ich hier mit anfängermüll komme und mein thema vllt nicht direkt hier in dieses forum gehört,
aber ich danke jedem schon im voraus der mir aus meiner unwissenheit hilft!

DANKE! :hail:

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: anfänger-C-problem

Beitrag von catdog2 » 05.09.2010 20:46:59

Ganz einfach, das 1. ist C, das 2. ist C++. Entsprechend kompilierst du das nicht mit gcc sondern mit g++.
Unix is user-friendly; it's just picky about who its friends are.

zeppink
Beiträge: 8
Registriert: 06.12.2009 17:26:58

Re: anfänger-C-problem

Beitrag von zeppink » 05.09.2010 20:52:30

argh,

8O

ich bin ja noch blöder als ich dachte,
aber ich arbeite an mir :roll:

vielen herzlichen dank für diese expressantwort!!!
:wink:

:hail: :hail: :hail:

Benutzeravatar
bmario
Beiträge: 1257
Registriert: 05.09.2007 12:15:47
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dresden

Re: anfänger-C-problem

Beitrag von bmario » 05.09.2010 21:11:31

Vorsicht, an deiner Stelle würde ich davon absehen C und C++ zu mischen, es heißt zwar ähnlich, und C++ ist gewissermaßen auch C, allerdings programmiert man in beiden Sprachen doch anders. Und seien es nur Kleinigkeiten wie etwa #include <string.h> vs. #include <cstring>...

Entscheide dich auf eine Sprache und lerne diese. Wenn du sattelfest bist, kannst du immer noch über den Tellerrand schauen.

Mario
Nichts zu tun ist viel besser,
als mit viel Mühe nichts zu schaffen. - Laotse

Antworten