首页 > 解决方案 > Windows 10 上的 Cygwin 和 MinGW

问题描述

我的 Windows 10 机器上已经安装了 Cygwin。因为我开始在 Windows 环境中使用套接字编程,所以我想看看使用 MinGW。

我的机器上都有它们,但想看看它们之间“热交换”的简单方法。这里有一个先前的问题:Cygwin 上的 GCC 与 MinGW 共存,它具有以下 .cmd 文件:

@echo off
rem file: start cmd with cygwin's path
cmd.exe  /k path=C:\cygwin\bin;%path%

现在,如果我以管理员身份运行它,会发生一些我目前不明白的事情:

  1. 如果导航到control panel -> system -> advanced system settings -> Advanced tab -> Environment Variables -> edit path- 没有显示...
  2. 但是,如果我只是简单地输入pathcmd 提示符,它会显示C:\cygwin\bin.

所以我想我的问题是:

一个。以上有什么区别?

湾。如果 .cmd 文件添加了一个路径项,那么取出一个最简单的方法是什么?

我的想法是,如果我的路径中没有任何内容,那么gcc --version在 cmd 提示符中输入应该会显示一个错误,由于上面的第 2 点,它目前没有。

希望我说得有道理。一如既往地感谢任何帮助。

编辑 1:我发现以下内容:从操作系统级别配置中删除环境变量的命令行

它具有以下命令提示符:

REG delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /F /V FOOBAR

这用于删除系统变量FOOBAR。现在,如果比我更有经验的人可以指出如何删除系统变量的一部分的方向......

标签: cwindowscygwinmingw

解决方案


1.

有两种不同的 PATH,一种是系统范围的,一种是用户的。后者是从系统构建的,并由设置内容扩展。

生成的 PATH 只是程序启动时的基础。如果 CMD 执行你的小批量,它会C:\cygwin\bin添加到这个现有列表中。这个 PATH 只对这个 CMD 实例有效。

2.

好吧,我没有好主意...您将如何从 PATH 的列表中选择要删除的单个路径?按索引,按内容,按什么?

可能有一些方法可以使用现有的命令,如“for”,但为什么路径在 PATH 中呢?

如果您希望有两种不同的环境来使用 Cygwin 或 MinGW 工具,我建议您设置系统和/或用户的基本 PATH(通过设置对话框)而不使用这两种工具。然后编写两小批打开 CMD 并预先添加(或者我更喜欢,追加)相应的路径。

顺便说一句,MinGW 不是已经设置了一个开始菜单条目吗?


推荐阅读