Impossible de compiler avec Vim
Résolu/Fermé
Tintin72
-
23 juil. 2007 à 18:53
mamiemando Messages postés 33410 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 2 décembre 2024 - 24 juil. 2007 à 17:04
mamiemando Messages postés 33410 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 2 décembre 2024 - 24 juil. 2007 à 17:04
A voir également:
- Impossible de compiler avec Vim
- Codeblocks avec compilateur - Télécharger - Langages
- Comment compiler des pdf - Guide
- Inno setup compiler - Télécharger - Édition & Programmation
- Compiler plusieurs fichiers excel - Guide
- Vim rechercher - Forum Linux / Unix
5 réponses
mamiemando
Messages postés
33410
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
2 décembre 2024
7 808
24 juil. 2007 à 00:51
24 juil. 2007 à 00:51
Tu as oublié le point d'exclamation !
ce qui donne
Quand je sauve et quitte :
Ce qui donne bien le résultat escompté. Le principe est bien entendu le même avec make, il faut juste que le Makefile soit dans le répertoire depuis lequel tu as ouvert vim.
Bonne chance
int main(){ std::cout << "plop" << std::endl; return 0; } ~ ~ ~ :!g++ plop.cpp
ce qui donne
(mando@aldur) (~) $ vi plop.cpp Appuyez sur ENTRÉE ou tapez une commande pour continuer
Quand je sauve et quitte :
(mando@aldur) (~) $ ./a.out plop
Ce qui donne bien le résultat escompté. Le principe est bien entendu le même avec make, il faut juste que le Makefile soit dans le répertoire depuis lequel tu as ouvert vim.
Bonne chance
Merci pour ta réponse mais le point d'exclamation n'y change rien.
Toutefois dans la doc c'est bien ':make' sans point d'exclamation.
J'ai remarqué qu'avec MinGW l'executable se nomme mingw32-make.exe et non make.exe.
J'ai donc tapé dans Vim:
:set makeprg=mingw32-make
puis :make
Mais la seul chose que j'obtiens c'est :
mingw32-make: *** No targets specified and no makefile found.
Si quelqu'un a une idée.
Toutefois dans la doc c'est bien ':make' sans point d'exclamation.
J'ai remarqué qu'avec MinGW l'executable se nomme mingw32-make.exe et non make.exe.
J'ai donc tapé dans Vim:
:set makeprg=mingw32-make
puis :make
Mais la seul chose que j'obtiens c'est :
mingw32-make: *** No targets specified and no makefile found.
Si quelqu'un a une idée.
mamiemando
Messages postés
33410
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
2 décembre 2024
7 808
24 juil. 2007 à 10:12
24 juil. 2007 à 10:12
En fait les deux marchent. Avec un point d'exclamation tu lances n'importe quelle commande shell depuis vim (en particulier make, dans ton cas mingw32-make). Avec :make, tu dis à vim de taper dans le makefile (et il utilise pour ça la variable makeprg). Les deux méthodes marchent chez moi.
Cependant dans ton cas, vim trouve ta commande make (enfin mingw32-make) mais pas le makefile. Pour moi c'est sans doute parce que tu as lancé vim dans un répertoire ne contenant pas de fichier "Makefile" ou "makefile". Si je reprends mon exemple en ajoutant ce makefile :
ensuite dans vim :
ce qui donne (de manière similaire à :make)
En particulier vérifie bien que tu as bien une tabulation (et pas des espaces) à la suite de ta cible (dans mon exemple all:) car sinon ton makefile ne peut pas marcher.
Bonne chance
Cependant dans ton cas, vim trouve ta commande make (enfin mingw32-make) mais pas le makefile. Pour moi c'est sans doute parce que tu as lancé vim dans un répertoire ne contenant pas de fichier "Makefile" ou "makefile". Si je reprends mon exemple en ajoutant ce makefile :
(mando@aldur) (~) $ cat Makefile all: g++ plop.cpp
ensuite dans vim :
#include <iostream> int main(){ std::cout << "plop" << std::endl; return 0; } ~ ~ ~ ~ :!make
ce qui donne (de manière similaire à :make)
(mando@aldur) (~) $ vi plop.cpp g++ plop.cpp Appuyez sur ENTRÉE ou tapez une commande pour continuer
En particulier vérifie bien que tu as bien une tabulation (et pas des espaces) à la suite de ta cible (dans mon exemple all:) car sinon ton makefile ne peut pas marcher.
Bonne chance
J'ai enfin trouvé l'origine du pb !
J'avais modifié l'emplacement du prompt par defaut
avec regedit (en créant une clé (autorun) avec la valeur: cd/d D:\)
de façon a avoir l'invite D:\> et pas C:\Documents and Settings\Tintin>
Tout le pb vient de là.
J'ai donc effacé la clé dans regedit (pour avoir à nouveau l'invite par défaut),
et j'ai placé le repertoire contenant mon prog dans C:
C:\hello
et maintenant tout fonctionne avec Vim, (compilation, déplacement et positionnement
dans les répertoires).
Par contre je ne sais toujours pas pourquoi le fait de modifier l'emplacement du prompt par defaut a créé une tel pagaille avec Vim ni comment résoudre ce pb.
En tous cas merci beaucoup pour ton aide.
J'avais modifié l'emplacement du prompt par defaut
avec regedit (en créant une clé (autorun) avec la valeur: cd/d D:\)
de façon a avoir l'invite D:\> et pas C:\Documents and Settings\Tintin>
Tout le pb vient de là.
J'ai donc effacé la clé dans regedit (pour avoir à nouveau l'invite par défaut),
et j'ai placé le repertoire contenant mon prog dans C:
C:\hello
et maintenant tout fonctionne avec Vim, (compilation, déplacement et positionnement
dans les répertoires).
Par contre je ne sais toujours pas pourquoi le fait de modifier l'emplacement du prompt par defaut a créé une tel pagaille avec Vim ni comment résoudre ce pb.
En tous cas merci beaucoup pour ton aide.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mamiemando
Messages postés
33410
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
2 décembre 2024
7 808
24 juil. 2007 à 17:04
24 juil. 2007 à 17:04
Aucune idée je ne sais pas comment marche windows ;) L'important c'est que tu aies résolu ton problème !