Frage

Ich habe versucht, ein einfaches Programm erstellen in der Klemme.

#include <stdio.h>
#include <stdlib.h>
int main()
{
        printf("TESTING");
        return 1;
}

Ich lief g++ -o test test.cpp

Der Fehler:

/usr/include/features.h:323:26: error: bits/predefs.h: No such file or directory
/usr/include/features.h:356:25: error: sys/cdefs.h: No such file or directory
/usr/include/features.h:388:23: error: gnu/stubs.h: No such file or directory
In file included from test.cpp:2:
/usr/include/stdlib.h:42:29: error: bits/waitflags.h: No such file or directory
/usr/include/stdlib.h:43:30: error: bits/waitstatus.h: No such file or directory
/usr/include/stdlib.h:320:49: error: sys/types.h: No such file or directory
In file included from test.cpp:2:
/usr/include/stdlib.h:35: error: ‘__BEGIN_DECLS’ does not name a type
/usr/include/stdlib.h:102: error: expected constructor, destructor, or type conversion  before ‘;’ token
/usr/include/stdlib.h:113: error: ‘__END_NAMESPACE_STD’ does not name a type
/usr/include/stdlib.h:122: error: expected constructor, destructor, or type conversion before ‘;’ token
/usr/include/stdlib.h:140: error: expected constructor, destructor, or type conversion before ‘extern’
/usr/include/stdlib.h:145: error: expected constructor, destructor, or type conversion before ‘extern’
/usr/include/stdlib.h:149: error: expected initializer before ‘__THROW’
/usr/include/stdlib.h:152: error: expected initializer before ‘__THROW’
/usr/include/stdlib.h:153: error: ‘__END_NAMESPACE_STD’ does not name a type
/usr/include/stdlib.h:160: error: ‘__END_NAMESPACE_C99’ does not name a type
/usr/include/stdlib.h:168: error: ‘__END_NAMESPACE_STD’ does not name a type

Die Liste geht weiter diesen Weg.Ich bin der Hoffnung, jemand kann darauf hinweisen, was ich nicht getan habe, um diese Arbeit zu machen.

War es hilfreich?

Lösung 3

Lösung: Mein Weg war leer, da es einige frühere Versuche, es funktionieren zu lassen, funktioniert. Ich habe einen sauberen Weg erstellt mit:

export PATH= /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Mein Problem nach dem Zusammenstellen war, dass das Programm keine Ergebnisse anzeigen würde. Dies lag daran, dass ich als neuer Linux -Benutzer nicht bemerkte, dass ich ein Programm mit ./ vorne anrufen musste. Dies kann auch auf dem Pfad aufgerufen werden:

export PATH: $PATH:./

Andere Tipps

Ihr code funktioniert für mich mit der gleichen Plattform.

Die Fehlermeldungen sehen aus wie C-Fehler.Vielleicht mit der C++ - Header-Hilfe.

#include <cstdio>
#include <cstdlib>

int main(int argc, char *argv[]) {
  printf("TESTING");
  return 0;
}

Sie haben möglicherweise auch einige seltsame Aliase.Manchmal sind die Leute setup-gcc als alias für g++ ist falsch.

tom@flim:~$ set | grep g++

tom@flim:~$ alias grep
alias grep='grep --color=auto'

tom@flim:~$ alias g++
bash: alias: g++: not found

tom@flim:~$ which g++
/usr/bin/g++

tom@flim:~$ ll `which g++`
lrwxrwxrwx 1 root root 7 2011-08-14 02:17 /usr/bin/g++ -> g++-4.6*

tom@flim:~$ g++ --version
g++ (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Dies ist, wie richte ich meine dev-Umgebung in ubuntu:

sudo apt-get install build-essential

Dies stellt alle standard-C++ - Bibliotheken ohne zu wissen, die knitty gritty details.

Ich hatte ein sehr ähnliches Problem. In meinem Fall war das Problem, dass ich einige beschädigte Header -Dateien hatte, wie sie versuchten, sie anzusehen:

/usr/include/x86_64-linux-gnu/sys$ cat *  | grep "Input/outpu error"
cat: ioctl.h: Input/output error
cat: types.h: Input/output error

Die Lösung für mich bestand darin, diese Dateien zu reinigen und sie dann erneut zu installieren.

sudo apt-get purge libc6-dev
sudo apt-get install libc6-dev
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top