J'utilise des bibliothèques cygwin pour exécuter des programmes C et C++ sous Windows.g ++ ne pas lier correctement les fichiers d'en-tête
gcc
fonctionne bien, mais avec g++
, j'obtiens une longue liste d'erreurs. Je pense que ces erreurs sont dues à des problèmes de liaison avec les bibliothèques C.
Pouvez-vous suggérer ce que je dois faire pour résoudre ce problème?
lignes d'erreur commençant:
In file included from testgpp.cpp:1:
/cygdrive/c/cygwin/bin/../lib/gcc/i686-pc-cygwin/3.4.4/include/c++/cstdio:52:19: stdio.h: No such file or directory
In file included from testgpp.cpp:1:
/cygdrive/c/cygwin/bin/../lib/gcc/i686-pc-cygwin/3.4.4/include/c++/cstdio:99: error: `::FILE' has not been declared
/cygdrive/c/cygwin/bin/../lib/gcc/i686-pc-cygwin/3.4.4/include/c++/cstdio:100: error: `::fpos_t' has not been declared
/cygdrive/c/cygwin/bin/../lib/gcc/i686-pc-cygwin/3.4.4/include/c++/cstdio:102: error: `::clearerr' has not been declared
/cygdrive/c/cygwin/bin/../lib/gcc/i686-pc-cygwin/3.4.4/include/c++/cstdio:103: error: `::fclose' has not been declared
/cygdrive/c/cygwin/bin/../lib/gcc/i686-pc-cygwin/3.4.4/include/c++/cstdio:104: error: `::feof' has not been declared
toute décharge d'erreur: PasteBin
pour les personnes demandant le code source: ce cela est clairement une lien du fichier en-tête problème et se produit avant même que la compilation ne commence. Je reçois la même erreur pour chaque fichier .cpp.
#include<cstdio>
#include<cstdlib>
#include<iostream>
#include<vector>
#include<queue>
using namespace std;
int main(){
cout<<"hello world!";
}
me donne la même erreur.
Quelle était la ligne de commande? –
@Marcelo Cantos: 'g ++ testgpp.cpp' – Moeb
Sans voir plus de détails, je ne peux pas vous donner une réponse, mais si vous incluez" windows.h "... il est connu d'interagir très mal avec Cygwin et peut parfois provoquer des erreurs similaires à ce qui précède. –