Impossible de compiler avec Vim
Résolu
Bonjour,
J'essaie désepérement de compiler un simple programme C sous Vim mais ça ne
fonctionne pas (je suis sous Win XP).
J'ai suivi l'exemple de la doc: http://vim.dindinx.net/traduit/html/usr_30.txt.php#30.1
mais quand je tape ':make', le prompt me dit que la commande n'est pas reconnue.
(je précise que lorsque je compile directement par le prompt ça marche).
J'ai evidemment vérifié que Vim se trouve bien dans le bon répertoire
en tapant ':pwd' ou encore ':cd', et apparement c'est bon.
Par contre j'ai découvert que lorsque je remplace (avec regedit) le répertoire par défaut du prompt (D:\ chez moi) par le répertoire dans lequel se trouvent les sources (D:\prog\hello) ça marche.
Evidemment c'est pas pratique du tout car je dois changer le répertoire par défaut pour chaque
nouveau programme à compiler.
Est ce que quelqu'un pourrait m'aider parce que là je vois vraiment plus.
Merci
J'essaie désepérement de compiler un simple programme C sous Vim mais ça ne
fonctionne pas (je suis sous Win XP).
J'ai suivi l'exemple de la doc: http://vim.dindinx.net/traduit/html/usr_30.txt.php#30.1
mais quand je tape ':make', le prompt me dit que la commande n'est pas reconnue.
(je précise que lorsque je compile directement par le prompt ça marche).
J'ai evidemment vérifié que Vim se trouve bien dans le bon répertoire
en tapant ':pwd' ou encore ':cd', et apparement c'est bon.
Par contre j'ai découvert que lorsque je remplace (avec regedit) le répertoire par défaut du prompt (D:\ chez moi) par le répertoire dans lequel se trouvent les sources (D:\prog\hello) ça marche.
Evidemment c'est pas pratique du tout car je dois changer le répertoire par défaut pour chaque
nouveau programme à compiler.
Est ce que quelqu'un pourrait m'aider parce que là je vois vraiment plus.
Merci
A voir également:
- Impossible de compiler avec Vim
- Comment compiler des pdf - Guide
- Code blocks avec compilateur - Télécharger - Langages
- Inno setup compiler - Télécharger - Édition & Programmation
- Compiler plusieurs fichiers excel - Guide
- Visual basic command line compiler ✓ - Forum Virus
5 réponses
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.
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