【问题标题】:msys2, using standard windows consolemsys2,使用标准的 windows 控制台
【发布时间】:2017-09-02 14:36:25
【问题描述】:

我使用 Console2 (link1link2),它就像标准控制台的包装器,但允许使用 ctrl-shift-c 和 ctrl-shift-v 复制粘贴文本。我发现它比 msys2 附带的控制台要舒服得多,它们有类似 ctrl-ins shift-ins 的怪异。而且周围有两个不同的控制台并不好。

如何使用 Console2 来启动编译器?我会将 C:\msys64\mingw32\bin 添加到 PATH,但我不想在 PATH 中有太多的 exe 和 dll,也不想意外分发依赖于 libgcc_s_dw2-1.dll 的东西。

另外,我需要能够以某种方式在 mingw32 和 mingw64 编译器之间切换。

试过读c:/msys64/msys2_shell.cmd,不明白里面是什么。

切换到 windows 命令行可能需要从 unix shell 命令转移到 windows 的命令。我可以重写一些我正在使用的 makefile,这不是什么大问题。

也许我可以另辟蹊径,在日常生活中使用 msys2 控制台。我只用它来启动 youtube-dl 和我写的另一个程序。这需要使复制粘贴更容易,以及在 mingw32 和 mingw64 之间切换的某种方式。

【问题讨论】:

标签: cmd msys2


【解决方案1】:

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

临时解决方案:创建三个文件g3.batg6.batgg.bat,并将它们放在PATH目录之一中。它们允许在 PATH 中临时添加或删除 mingw32 或 mingw64。

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;=%

调用这个来检查结果:echo %PATH%


版本 2,尝试不使用前导 ;

它几乎可以工作,但gg.bat 仍然将领先的; 抛在后面。我可以改用set PATH=%PATH:;C:\msys64\mingw32\bin=%(注意%PATH: 右侧的额外;),但如果C:\msys64\mingw32\bin 位于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=%
set "PATH=%PATH:;;=;%"

版本 3,“嗯,随便”:

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:;;=;%

【讨论】:

  • @eryksun 谢谢,已尝试修复。你能看看我的新代码吗,有几件事可能可以做得更好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-13
  • 2017-06-06
  • 1970-01-01
  • 2019-09-10
  • 1970-01-01
  • 2011-12-01
  • 1970-01-01
相关资源
最近更新 更多