J'ai Windows 7 et j'ai essayé d'utiliser la commande "make" mais "make" n'est pas reconnu comme une commande interne ou externe.
J'ai fait Start -> cmd -> run -> make
, qui affiche:
'make' n'est pas reconnu comme une commande interne ou externe, un programme utilisable ou un fichier batch.
Puis j'ai tapé 'mingw32-make' à la place de 'make' (Start -> cmd -> run -> mingw32-make
) et j'ai le même résultat
'mingw32-make' n'est pas reconnu comme une commande interne ou externe, un programme utilisable ou un fichier de commandes.
Que dois-je faire ensuite pour résoudre ce problème?
Votre problème est probablement que le shell ne sait pas où trouver votre programme make
. Si vous voulez l’utiliser de "n’importe où", vous devez le faire, sinon vous devrez ajouter le chemin complet à chaque appel, ce qui est assez fastidieux. Par exemple:
"c:\program files\gnuwin32\bin\make.exe" option1=thisvalue option2=thatvalue
Cela doit être pris comme exemple, cela ressemblait à quelque chose comme ceci sur XP, je ne peux pas dire sur W7. Mais gnuwin32 fournissait des packages utiles "linux-world" pour Windows. Vérifiez les détails sur votre fournisseur pour make.
Donc, pour éviter d'entrer le chemin, vous pouvez ajouter le chemin à votre variable d'environnement PATH
. Vous trouverez ceci facilement . Pour vous assurer qu'il est enregistré par le système d'exploitation, ouvrez une console (exécutez cmd.exe
) et entrez $PATH
devrait vous donner une liste des chemins d'accès par défaut. Vérifiez que l'emplacement de votre programme make
est présent.
Dans Windows 10, j'ai résolu ce problème en ajoutant "C:\MinGW\bin" à Path, puis appelé avec MinGW32-make not make
mingw32-make
est installé.PATH
dans votre ligne de commande et recherchez le dossier. Ou sous Windows 10, accédez à la variable Control Panel\System and Security\System --> Advanced system settings --> Environment Variables --> System Variables
find Path
, sélectionnez Edit
et vérifiez si elle est présente. Sinon ajoutez-le!mingwstartup.bat
dans le dossier bin MinGW. écrivez la ligne doskey make=mingw32-make.exe
à l'intérieur, sauvegardez-la et fermez-la.regedit
. Comme expliqué ici dans HKEY_LOCAL_MACHINE
ou HKEY_CURRENT_USER
, allez à \Software\Microsoft\Command Processor
avec le bouton droit de la souris sur le panneau droit New --> Expandable String Value
et nommez-le AutoRun
. double-cliquez et entrez le chemin d'accès à votre fichier .bat en tant que données de la valeur (par exemple "C:\MinGW\bin\mingwstartup.bat"
), le résultat devrait ressembler à ceci:maintenant, chaque fois que vous ouvrez une nouvelle commande terminal make
, le mingw32-make.exe
sera exécuté. J'espère que ça aide.
J'utilise Windows 8. J'ai eu le même problème. J'ai ajouté le chemin "C:\MinGW\bin" à la variable d'environnement système appelée "chemin", puis cela a fonctionné. Peut-être, vous pouvez essayer la même chose. J'espère que ça va aider!
'make' est une commande pour UNIX/Linux. Au lieu de cela, utilisez la commande "nmake" sous MS Windows. Ou vous feriez mieux d'utiliser un émulateur comme CYGWIN.
Si vous avez déjà installé MinGW dans Windows 7, procédez simplement comme suit:
C:\MinGW\bin\mingw32-make.exe
dans le même dossier.mingw32-make.exe
en make.exe
.Testé en travaillant dans mon ordinateur portable pour les étapes ci-dessus.
Recherchez make.exe à l'aide de la fonction de recherche. Lorsqu'il est trouvé, notez le chemin absolu du fichier. Vous pouvez le faire en cliquant avec le bouton droit de la souris sur le nom du fichier dans le résultat de la recherche, puis sur les propriétés ou sur le dossier de localisation ouvert (vous n'êtes pas sûr du libellé exact, je n'utilise pas de paramètres régionaux anglais).
Lorsque vous ouvrez la console de ligne de commande (cmd) au lieu de saisir make
, tapez le chemin d'accès complet et son nom, par exemple. C:\Windows\System32\Java
(c'est pour Java ...).
Alternativement, si vous ne voulez pas fournir le chemin complet à chaque fois, vous avez alors plusieurs possibilités:
C:\Windows\System32\
le répertoire de travail en cours, en utilisant cd
au niveau cmd.C:\Windows\System32\
à votre variable d’environnement PATH.Refs:
Comme d'autres réponses l'ont déjà suggéré, vous devez avoir installé MinGW
. La partie supplémentaire consiste à ajouter les deux dossiers suivants à la variable d’environnement PATH
.
Évidemment, ajustez le chemin en fonction de l'emplacement d'installation de MinGW. Aussi, n'oubliez pas d'ouvrir un nouveau terminal en ligne de commande.
utilisez mingw32-make au lieu de cmake dans Windows
====== Exécutez 'cmd' en tant qu'administrateur 2 utilisez 'setx' ===== setx scoop "C:\Utilisateurs \% nom d'utilisateur%\scoop"/M
echo %scoop%
setx scoopApps "%scoop%\apps" /M
echo %scoopApps%
scoop install make
======= Phase 3: Créez la variable d'environnement makePath ===
setx makePath "%scoopApps%/make" /M
echo %makePath%
setx makeBin "%makePath%/Bin" /M
echo %makeBin%
setx Path "%Path%;%makeBin%" /M
echo %Path%
C'est une vieille question, mais aucune des réponses ici ne fournit assez de contexte pour qu'un débutant puisse choisir laquelle choisir.
make
?make
est un utilitaire Unix traditionnel qui lit un Makefile
pour décider des programmes à exécuter pour atteindre un objectif particulier. En règle générale, cet objectif consiste à créer un logiciel unique. mais make
est assez général pour être utilisé pour diverses autres tâches, comme assembler un PDF à partir d'une collection de fichiers source TeX, ou récupérer les dernières versions de chacune des pages Web. .
En plus d'encapsuler les étapes pour atteindre une cible individuelle, make
réduit le temps de traitement en évitant de réexécuter les étapes déjà terminées. Pour ce faire, il compare les horodatages entre les dépendances. si A dépend de B mais que A est plus récent que B, il n’est pas nécessaire de make A
. Bien entendu, pour que cela fonctionne correctement, la Makefile
doit documenter toutes ces dépendances.
A: B
commands to produce A from B
Notez que l'indentation doit consister en un caractère de tabulation littéral. Ceci est un erreur de débutant commune.
make
L'original make
était plutôt piéton. Sa lignée se poursuit à ce jour dans BSD make
, à partir duquel nmake
est dérivé. En gros, cette version fournit la fonctionnalité make
définie par POSIX, avec quelques améliorations et variations mineures.
GNU make
, en revanche, étend de manière significative le formalisme, au point où un GNU Makefile
ne fonctionne probablement pas avec d'autres versions (ou même occasionnellement). anciennes versions de GNU make
). Il existe une convention pour appeler de tels fichiers GNUmakefile
à la place de Makefile
, mais cette convention est largement ignorée, en particulier sur les plateformes comme Linux où GNU make
est le de facto standard make
.
Les signes avant-coureurs indiquant qu'une Makefile
utilise GNU make
les conventions sont l'utilisation de :=
au lieu de =
pour les affectations de variables (bien qu'il ne s'agisse pas exclusivement d'un GNU feature) et une multitude de fonctions telles que $(Shell ...)
, $(foreach ...)
, $(patsubst ...)
etc.
Eh bien, cela dépend vraiment de ce que vous espérez accomplir.
Si le logiciel que vous espérez créer contient un fichier vcproj
ou similaire, vous voudrez probablement l'utiliser à la place et ne pas essayer d'utiliser make
.
Dans le cas général, MinGW make
est un port Windows de GNU make
pour Windows, il doit généralement faire face à tous les Makefile
que vous lui lancez.
Si vous savez que le logiciel a été écrit pour utiliser nmake
et que vous l'avez déjà installé, ou qu'il est facile à obtenir, vous pouvez peut-être vous en servir.
Vous devez comprendre que si le logiciel n’a pas été écrit pour Windows, ni explicitement porté sur lui, il est peu probable qu’il soit compilé sans modifications importantes. Dans ce scénario, obtenir make
à exécuter est le moindre de vos problèmes, et vous aurez besoin d'une bonne compréhension des différences entre la plate-forme d'origine et Windows pour avoir une chance de le résoudre vous-même.
De manière plus détaillée, si la variable Makefile
contient des commandes Unix telles que grep
ou curl
ou yacc
, votre système doit également installer ces commandes. En dehors de cela, C ou C++ (ou plus généralement, le code source dans n'importe quel langage) écrit pour une plate-forme différente peut tout simplement ne pas fonctionner - du tout, ou comme prévu (ce qui est souvent pire) - sous Windows.