2017-09-02 8 views
0

J'utilise Console2 (link1link2), c'est comme un wrapper autour de la console standard, mais permet de copier du texte avec ctrl-shift-c et ctrl-shift-v. Je le trouve beaucoup plus confortable que les consoles qui viennent avec msys2, elles ont comme ctrl-ins des décalages dans l'étrangeté. Et avoir deux consoles différentes n'est pas bon. Comment utiliser Console2 pour lancer le compilateur?msys2, en utilisant la console standard de Windows

Comment utiliser Console2 pour lancer le compilateur? J'ajouterais C: \ msys64 \ mingw32 \ bin à PATH, mais je ne veux pas avoir trop d'exe et dll dans PATH, je ne veux pas distribuer quelque chose qui dépend de libgcc_s_dw2-1.dll par accident.

De plus, je dois pouvoir basculer d'une manière ou d'une autre entre les compilateurs mingw32 et mingw64. Essayé lecture c: /msys64/msys2_shell.cmd, ne comprends pas ce qu'il y a dedans.

La commutation vers la ligne de commande Windows nécessite probablement de passer des commandes shell Unix aux commandes Windows. Je pourrais réécrire des fichiers de compilation avec lesquels je travaille, ce n'est pas vraiment un problème.

Peut-être que je pourrais aller dans l'autre sens, pour utiliser la console msys2 dans ma vie quotidienne. Je l'utilise seulement pour lancer youtube-dl et un autre programme que j'ai écrit de toute façon. Cela nécessiterait de rendre le copypage plus facile, et un moyen de basculer entre mingw32 et mingw64.

Répondre

1

https://stackoverflow.com/posts/46015587/edit

Solution temporaire: créer trois fichiers g3.bat, g6.bat et gg.bat, et les mettre dans un des répertoires PATH. Ils permettent d'ajouter ou de supprimer temporairement mingw32 ou mingw64 dans PATH.

g3.bat:

call gg.bat 
SET PATH=%PATH%C:\msys64\mingw32\bin; 

g6.bat:

call gg.bat 
SET PATH=%PATH%C:\msys64\mingw64\bin; 

gg.bat:

set PATH=%PATH:C:\msys64\mingw32\bin;=% 
set PATH=%PATH:C:\msys64\mingw64\bin;=% 

Appelez ce pour vérifier le résultat: echo %PATH%


version 2, qui essaie de ne pas utiliser de premier plan ;

Il fonctionne presque, mais gg.bat laisse toujours en tête ; derrière. Je pourrais utiliser set PATH=%PATH:;C:\msys64\mingw32\bin=% à la place (remarque supplémentaire ; à droite de %PATH:), mais il se casserait si C:\msys64\mingw32\bin est au début de PATH.

Aussi, je ne suis pas sûr si "" est nécessaire là ou non.

g3.bat:

call gg.bat 
SET PATH=%PATH%;C:\msys64\mingw32\bin 

g6.bat:

call gg.bat 
SET PATH=%PATH%;C:\msys64\mingw64\bin 

gg.bat:

set PATH=%PATH:C:\msys64\mingw32\bin=% 
set PATH=%PATH:C:\msys64\mingw64\bin=% 
set "PATH=%PATH:;;=;%" 

Version 3, "eeh whatever":

gg.bat:

set PATH=%PATH:;C:\msys64\mingw32\bin=% 
set PATH=%PATH:;C:\msys64\mingw64\bin=% 

set PATH=%PATH:C:\msys64\mingw32\bin;=% 
set PATH=%PATH:C:\msys64\mingw64\bin;=% 

set PATH=%PATH:C:\msys64\mingw32\bin=% 
set PATH=%PATH:C:\msys64\mingw64\bin=% 

set PATH=%PATH:;;=;% 
+0

@eryksun Merci, essayé de le réparer. Pouvez-vous regarder mon nouveau code, il y a quelques choses qui peuvent probablement être mieux faites. –