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