Problème Cygwin

hide -  
mamiemando Messages postés 34250 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 !
A voir également:
  • Problème Cygwin
  • Cygwin - Télécharger - Édition & Programmation

3 réponses

mamiemando Messages postés 34250 Date d'inscription   Statut Modérateur Dernière intervention   7 901
 
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
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
mamiemando Messages postés 34250 Date d'inscription   Statut Modérateur Dernière intervention   7 901
 
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