Erreur de compilation croisée d'ARM avec fcntl.h: erreur: 'fermer' n'a pas été déclaré dans cette portée
Je suis la compilation croisée (de l'hôte: x86 linux) pour raspberry pi (BRAS) à l'aide de
arm-bcm2708hardfp-linux-gnueabi-g++
Lorsque je choisis g++ tout fonctionne bien et compile.
Mais quand la croix de la compilation j'obtiens:
error: 'close' was not declared in this scope
C'est la simplification de code source
#include <iostream>
#include <fcntl.h>
using namespace std;
int fd;
int main() {
cout << "!!!Hello World!!!" << endl; //prints !!!Hello World!!!
close(fd);
return 0;
}
Une idée? Ai-je oublié d'inclure qch? J'utilise eclipse comme IDE.
source d'informationauteur tzippy
Vous devez vous connecter pour publier un commentaire.
Je crois que c'est aussi simple que cela:
close
est déclaré dans<unistd.h>
pas<fcntl.h>
. Pour trouver ce fichier d'en-tête déclare un symbole, vous devez toujours vérifier les pages de manuel en premier.