Sida 1 av 1

Få gcc att fungera...

Postat: 16 maj 2007, 19:27
av L-C
Hejsan,

Får alla helsikes konstiga felmeddelanden när jag försöker kompilera C-kod och C++ kod. Nu är frågan vad man ska ha installerat, antar att det är nån typ av konflikter som spökar...

När jag kollar synaptic så finns det tusen olika kompilatorer, delss varianter av gcc och dels varianter av g++. Dessutom en massa libgcc, etc...

Någon som vet nåt ställe man kan läsa in sig lite på detta alternativt har en lista på vad som ska vara installerat och inte installerat?

P

SV: Få gcc att fungera...

Postat: 16 maj 2007, 19:37
av Smygis
Installera paketet "build-essential" Som är "beroende" av allt du behöver.
Så lätt är det.

SV: Få gcc att fungera...

Postat: 16 maj 2007, 19:55
av L-C
Försöker börja med en C++ kurs på nätet, eftersom jag insåg att jag måste lära mig detta språk illa kvickt ;)

Nåja, testade i alla fall att skriva ett Hello World program

Kod: Markera allt

#include <iostream.h>

int main()
{
  cout <<"Hello World! \n";
     return 0;
}
men när jag försöker kompilera med g++ hello.cpp eller gcc hello.cpp får jag följande felmeddelande

Kod: Markera allt

$ gcc hello.cpp
In file included from /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/backward/iostream.h:31,
                 from hello.cpp:1:
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
/tmp/cczE7shv.o: In function `__static_initialization_and_destruction_0(int, int)':
hello.cpp:(.text+0x23): undefined reference to `std::ios_base::Init::Init()'
/tmp/cczE7shv.o: In function `__tcf_0':
hello.cpp:(.text+0x6c): undefined reference to `std::ios_base::Init::~Init()'
/tmp/cczE7shv.o: In function `main':
hello.cpp:(.text+0x8e): undefined reference to `std::cout'
hello.cpp:(.text+0x93): 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*)'
/tmp/cczE7shv.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returnerade avslutningsstatus 1
Fattar inte så mycket av ovanstående. Kan det vara så att jag har för mycket installerat?? Testade att installera build-essential men det gjorde inte saken bättre...

P

SV: Få gcc att fungera...

Postat: 16 maj 2007, 19:59
av DrMegahertz
Du använder dig av det gamla iostream-biblioteket, det är övergivet sedan flera år tillbaka, testa med följande kod istället;

Kod: Markera allt

#include <iostream>

using namespace std;

int main(int argc, char **argv) {
  cout << "Hello World\n";
  return 0;
}
Kompileras med 'g++ main.cpp -o program'

SV: Få gcc att fungera...

Postat: 16 maj 2007, 20:05
av Smygis
L-C skrev: Försöker börja med en C++ kurs på nätet, eftersom jag insåg att jag måste lära mig detta språk illa kvickt ;)

Nåja, testade i alla fall att skriva ett Hello World program
Det är svårt att lära sig något illa kvickt.

:) Hur mycket programmeringserfarenhet har du?

SV: Få gcc att fungera...

Postat: 16 maj 2007, 20:43
av L-C
Har programmerat en hel del i fortran, perl och Tcl/tk innan, men aldrig på min hemdator... så jag har aldrig haft sådana här problem tidigare... Visst illa kvickt är kanske inte rätt ord... men så fort det går i alla fall...

Det funkade när jag gjorde om programmet enligt anvisningen...

Tips om nybörjarsidor mottages tacksamt... lär väl stöta på fler sådana häör saker med min gamla litteratur ;)