Problème Cygwin

hide -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

voila j'ai installé Cygwin avec l'ensemble de ses librairy,gcc, emacs, Xemacs (qui marche nikel) et tout ce qui contenait des C++.

Le problème est le suivant : après compile de Xemacs, le terminal ne peut pas lancer le .exe il met : no such file or directory.

En espérant que vous pourrez m'aider, merci d'avance !

3 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Il faut que tu fasses attention à la casse c'est sans doute
    xemacs

    et non Xemacs. Si l'exécutable n'est pas dans un répertoire décrit par ta variable d'environnement PATH il faut donner le chemin complet de la commande. Exemple :
    (mando@aldur) (~) $ echo $PATH
    /usr/local/bin:/usr/bin:/bin:/usr/games
    (mando@aldur) (~) $ ifconfig
    bash: ifconfig: command not found
    (mando@aldur) (~) $ whereis ifconfig
    ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
    (mando@aldur) (~) $ /sbin/ifconfig
    eth3      Lien encap:Ethernet  HWaddr
              inet adr:192.168.1.10  Bcast:192.168.1.255  Masque:255.255.255.0
    ...

    La commande ifconfig est dans /sbin qui n'est pas dans ma variable PATH, il faut donc la lancer avec son chemin complet.

    Bonne chance
    0
  2. hide
     
    Je me suis mal exprimé : xemacs fonctionne nickel : je veux lancer un projet appeler "a.cc" je tape <xemacs a.cc &> et ca fonctionne ( a.cc etant placé dans le chemin indiqué par la commande <pwd> ).

    Mon problème est que lorsque a.cc a été compilé sans erreur par xemacs en un fichier "a" , le terminal me met ca :
    http://imageshack.com/f/egsanstitreze2j

    le fichier a.cc :

    #include <iostream>
    using spacename std ;

    main() {
    cout <<"lu"<< endl ;
    }

    Merci d'avance !
    0
  3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Il faut compiler avec un compilateur C++ (par exemple g++) et pas un compilateur C (comme gcc). De plus toute fonction se doit d'avoir un type de retour (au moins void), et dans le cas particulier d'un main est sensé retourner un entier (0 quand tout va bien). Le using namespace doit être utilisé avec précaution et ne devrait jamais apparaître ailleurs que dans un fichier source (.cpp .cxx ou .cc), jamais dans un header (hpp hcxx hh) ou un header template (tcc par exemple). Ainsi :
    #include <iostream>
    
    int main() {
      std::cout <<"lu"<< std::endl ;
      return 0;
    }

    ou encore :
    #include <iostream>
    using namespace std;
    int main() {
      cout <<"lu"<< endl ;
      return 0;
    }

    Bonne chance
    0