Wie kompiliere ich ein 64-Bit-Programm mit gcc / g ++ unter einem 64-Bit-Linux?

8610
Mike Wong

Ich verwende Ubuntu 10.04 LTS und möchte, dass ein Programm auf einem großen Debian-Server mit 300 GB Speicher ausgeführt wird. Mit dem Befehl:

g++ Encoder.cpp -std=c++0x -m64 -o Encoder.o 

es gibt so etwas zurück

In files included from /usr/include/features.h:378, from /usr/include/c++/4.4/i486-linux-gnu/64/bits/os_defines.h:39 from /usr/include/c++/4.4/i486-linux-gnu/64/bits/c++confige.h:243, from /usr/include/c++/4.4/iostream:39, from Encoder.cpp:1: /usr/include/gnu/stubs.h:9:27: error: gnu/stubs-64.h: No such file or directory 

Ohne das Flag -m64 ist das Programm jedoch kompilierbar, tritt jedoch immer dann auf, wenn die RAM-Auslastung über 2,5 GB liegt.

Oder wäre die Standardkompilierung eigentlich 64bit? Wie erfahre ich, ob ein Prozess 32-Bit oder 64-Bit in "Top" ist?

2
Der Fehler ist klar; eine Header-Datei kann nicht gefunden werden; Sie müssen es angeben, um das Programm zu kompilieren Ramhound vor 9 Jahren 1
Warum haben Sie dies an Super User und an [Stack Overflow] (http://stackoverflow.com/q/25954595/3938807) veröffentlicht? Ich denke, dass Stack Overflow in diesem Fall wahrscheinlich der bessere der beiden ist. lzam vor 9 Jahren 0

2 Antworten auf die Frage

1
AcridBrimistic

Das glibc-develPaket sollte korrekt sein, verwenden Sie jedoch das Archivpaket x86_64.

In meinem Fedora glibc-devel.x86_64war das richtige Paket.

Für Ubuntu könnte es einfach sein glibc-dev.x86_64

Versuchen Sie eine der folgenden Möglichkeiten

sudo apt-get install glibc-devel.x86_64  sudo apt-get install glibc-dev.x86_64 
0
tonioc

Es scheint, Sie vermissen das glibc-develPaket, das Sie tragen gnu/stubs-64.h. Versuchen:

sudo apt-get install glibc-devel