ubuntuusers.de

Compilieren unter Ubuntu mit 64bit

Status: Ungelöst | Ubuntu-Version: Ubuntu 10.04 (Lucid Lynx)
Antworten |

t1m0n

Avatar von t1m0n

Anmeldungsdatum:
6. Mai 2008

Beiträge: 196

Mein Programmcode:

#include <iostream>
using namespace std;
int main()
{
cout << "test";
return 0;
}

Habe versucht über die Konsole zu kompilieren:

marcel@marcels:~/Desktop$ gcc -o test test.cpp
/tmp/ccxPkl81.o: In function `main':
test.cpp:(.text+0xa): undefined reference to `std::cout'
test.cpp:(.text+0xf): 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/ccxPkl81.o: In function `__static_initialization_and_destruction_0(int, int)':
test.cpp:(.text+0x3d): undefined reference to `std::ios_base::Init::Init()'
test.cpp:(.text+0x42): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccxPkl81.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
marcel@marcels:~/Desktop$ 

Anschließend mit Anjuta: Da steht dann, dass glib nicht installiert ist, aber eigentlich ist laut synaptic alles soweit installiert.

Gibt es ein Problem damit, dass ich ein 64bit System verwende?

baseman_2008

Avatar von baseman_2008

Anmeldungsdatum:
22. Juli 2008

Beiträge: 168

Wohnort: Tamm

marcel@marcels:~/Desktop$ g++ -o test test.cpp

g++ musst du eventuell noch nachinstallieren...

t1m0n

(Themenstarter)
Avatar von t1m0n

Anmeldungsdatum:
6. Mai 2008

Beiträge: 196

baseman 2008 schrieb:

marcel@marcels:~/Desktop$ g++ -o test test.cpp

g++ musst du eventuell noch nachinstallieren...

ist installiert

Habe mit gcc versucht zu compilieren. Mit g++ klappt es.

Schwarzer_Prinz

Anmeldungsdatum:
13. November 2008

Beiträge: Zähle...

Wohnort: Coswig (Dresden)

Habe jetzt mal dein Problem getestet und mir fehlte noch libglib2.0-dev.

t1m0n

(Themenstarter)
Avatar von t1m0n

Anmeldungsdatum:
6. Mai 2008

Beiträge: 196

Schwarzer Prinz schrieb:

Habe jetzt mal dein Problem getestet und mir fehlte noch libglib2.0-dev.

sehr gut,danke.

Bekomme nun eine *.o datei als compiliertes Projekt. Wie führt man die aus? ./*.o oder ist die noch garnicht ausführbar?

rennradler

Anmeldungsdatum:
27. Februar 2010

Beiträge: 1836

Leute, "test" als Dateiname für ein Executable ist so ziemlich das Dümmste, das man machen kann. test ist ein Shell built-in und wer "test" eingibt, um sein frisch erstelltes Programm zu starten, wird sich wundern, warum scheinbar nichts passiert. Das nur so mal am Rande.

Bekomme nun eine *.o datei als compiliertes Projekt. Wie führt man die aus? ./*.o oder ist die noch garnicht ausführbar?

.o Dateien sind nicht ausführbar. Sie sind Input für den Linker, der daraus Executables macht, sofern alle Symbole aufgelöst werden können. Der Befehl

g++ -o mein_tolles_programm super.cpp

sollte ein Executable produzieren, wenn alles Fehlerfrei durchläuft.

baseman_2008

Avatar von baseman_2008

Anmeldungsdatum:
22. Juli 2008

Beiträge: 168

Wohnort: Tamm

rennradler schrieb:

Leute, "test" als Dateiname für ein Executable ist so ziemlich das Dümmste, das man machen kann. test ist ein Shell built-in und wer "test" eingibt, um sein frisch erstelltes Programm zu starten, wird sich wundern, warum scheinbar nichts passiert. Das nur so mal am Rande.

???????????

Man tippt ja auch ./test ein...

rennradler

Anmeldungsdatum:
27. Februar 2010

Beiträge: 1836

... sofern man nicht den "." im Pfad hat, was ja nicht unüblich ist.

t1m0n

(Themenstarter)
Avatar von t1m0n

Anmeldungsdatum:
6. Mai 2008

Beiträge: 196

oh hey, sorry. hab mich falsch ausgedrückt.Das compilieren über Konsole mit g++ läuft nun.

Die *.o bekomme ich von Anjuta geliefert statt eine ausführbare Datei..

Schwarzer_Prinz

Anmeldungsdatum:
13. November 2008

Beiträge: 51

Wohnort: Coswig (Dresden)

Wo liegt denn diese *.o Datei? Bei mir liegt sie bei Debug/src und dort liegt auch die Executable.

Der Ort hängt von der Projektkonfiguration ab.

t1m0n

(Themenstarter)
Avatar von t1m0n

Anmeldungsdatum:
6. Mai 2008

Beiträge: 196

Schwarzer Prinz schrieb:

Wo liegt denn diese *.o Datei? Bei mir liegt sie bei Debug/src und dort liegt auch die Executable.

Der Ort hängt von der Projektkonfiguration ab.

Ja, hab ich gefunden nur die gibt bei mir aus Hello World^^ wie heißt denn die von dem Projekt angelegte datei? Eine *.cpp oder *.c liegt niergends obwohl ich beim Projektanlegen bewusst C++ und den Konsolenbutton gewählt habe.

Schwarzer_Prinz

Anmeldungsdatum:
13. November 2008

Beiträge: 51

Wohnort: Coswig (Dresden)

Die vom Projekt angelegte Datei liegt unter /src und heißt main.cc.

Antworten |