|
|
|
|
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
Configuration: Windows XP Internet Explorer 6.0
Tu as oublié le point d'exclamation !
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.
|
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.
(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 !
|