【问题标题】:Run MinGW gcc compiler in Windows 7 without setting environment variables在不设置环境变量的情况下在 Windows 7 中运行 MinGW gcc 编译器
【发布时间】:2017-01-22 03:08:59
【问题描述】:

我在 Windows 中有一个 MinGW 文件夹,我没有在环境变量中设置任何路径。当我运行以下命令时:

D:\toolchains\MinGW\bin>gcc.exe hw.c -o hw

我收到了这个错误:

gcc.exe: error: CreateProcess: No such file or directory

据我了解,这个问题是因为我没有将此路径添加到环境变量。如何在不将此路径添加到环境变量的情况下解决此问题,因为我打算从 Python 脚本运行此命令。

【问题讨论】:

  • 您只需调用D:\toolchains\MinGW\bin\gcc.exe,而不是调用gcc.exe。只要您提供 gcc 的完整路径,您甚至不需要在 MinGW 安装目录中。
  • @TimF 当我这样做时,我得到了同样的错误:(
  • 好吧对不起,那是 gcc 没有找到 hw.c。所以无论你是从 hw.c 所在的文件夹执行这个命令,还是给出 hw.c 的绝对或相对路径。以D:\toolchains\MinGW\bin\gcc.exe D:\path\to\hw.c -o hw 为例
  • 这听起来像是一个不完整的安装。编译器前端运行一些其他可执行文件,其中一些位于相关(但不相同)目录中。我可以通过强制它找不到与其目录相关的任何内容来重现错误消息,只需将驱动器映射到 bin 并从该驱动器的根目录运行它。你能举一个运行编译器工作的例子吗?
  • 也就是说,尽管无论搜索路径如何运行编译器都可以正常工作,但如果 MinGW bin 目录不在您的PATH 中,则链接器可能会混淆并失败。所以在实践中你需要PATH

标签: c++ c windows gcc mingw


【解决方案1】:

您要么必须修改 PATH 环境变量,要么使用正确的工作目录启动 gcc 进程。你可以在 python 中做到这两点:

我建议修改 PATH 变量。

【讨论】:

  • 我看不出工作目录与此事有任何关系的任何理由。在不设置搜索路径或工作目录的情况下,使用 MinGW g++ 对我来说效果很好,而且一直如此(回到 1990 年代)。但是,有时链接器会出现问题,有时似乎需要搜索 PATH,而且不仅需要它,而且在 PATH 中的其他搜索路径之前有它。
【解决方案2】:

您必须设置 PATH 环境变量才能使原始 Mingw 工作。参见this,名为“环境设置”的部分:

  1. 右键单击“我的电脑”图标并选择“属性”。
  2. 点击“高级”标签,然后点击“环境变量”按钮。
  3. 您应该看到一个带有两个文本框的对话框。顶部框显示您的用户设置。此框中的 PATH 条目是 一个你想修改的。请注意,底部的文本框允许您 更改系统 PATH 变量。您不应该更改系统路径 以任何方式变化,否则您将导致各种问题 你和你的电脑!
  4. 点击顶部框中的PATH条目,然后点击“编辑”按钮
  5. 滚动到字符串的末尾并在末尾添加

    ;<installation-directory>\bin

  6. 按 OK -> OK -> OK 就完成了。

否则,如果您使用像 Codeblocks 这样的 IDE,它会为您完成所有这些肮脏的细节。有关如何更改 Codeblocks 使用的默认 Mingw 编译器的示例,请参阅 this。它具有“自动检测”功能,可以本地化 Mingw 编译器、链接器等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-14
    • 2011-12-20
    • 2023-02-06
    • 2012-03-29
    • 2015-10-04
    • 2017-05-11
    相关资源
    最近更新 更多