【问题标题】:Cygwin Shell: $ make ex1 returns: "The system cannot find the specified file" on Windows 7Cygwin Shell:$ make ex1 在 Windows 7 上返回:“系统找不到指定的文件”
【发布时间】:2016-12-20 15:08:35
【问题描述】:

我正在按照在线书籍“Learn C The Hard Way”的步骤进行操作,并且由于我使用的是 Windows 7,因此我安装了 Cygwin 以使用 Linux 命令。但是我在本书的第一个练习中遇到了一个问题。我应该将以下命令放在 shell 上:

$ make ex1

在文件夹上创建 ex1.c 文件后。该命令应该给我:

cc     ex1.c   -o ex1

但相反,我收到以下消息:

$ make ex1
cc     ex1.c   -o ex1
process_begin: CreateProcess(NULL, cc ex1.c -o ex1, ...) failed.
make (e=2): The system cannot find the specified file.
make: *** [ex1] Error 2

怎么了?

【问题讨论】:

  • 从 Cygwin 提示符运行此命令 cc -v 并报告结果将是诊断性的。
  • 您是否尝试运行您希望“make”运行的命令?即:cc ex1.c -o ex1 .... 成功了吗...???如果没有,您可能需要在 Cygwin 中安装“gcc”...

标签: c windows shell cygwin


【解决方案1】:

Make 报告它找不到 cc。
cc是gcc的链接,属于gcc-core。

$ cygcheck -f /usr/bin/cc  
gcc-core-5.4.0-1

验证包是否安装正确

$ cygcheck -c gcc-core
Cygwin Package Information
Package              Version        Status
gcc-core             5.4.0-1        OK

如果可能缺少该软件包,则需要使用 cygwin 安装程序进行安装。

【讨论】:

    【解决方案2】:

    首先你应该知道你应该在文件所在的同一目录中运行命令。在 cygwin 中,首先您必须找到文件所在的文件夹,然后您可以运行这些 make 命令。更好,因为您使用的是 Windows。您最好使用任何其他基于 Windows 的 C 客户端。但如果我在您的位置。我会在我的本地 Windows 计算机上安装一个虚拟 Linux 环境,并且会在上面工作。你应该尝试一次。 Linux Terminal 为开发人员提供了很大的权力。您可以在 cygwin 不支持的终端上执行很多操作。对于在 Cygwin 上编译 C 程序,我相信你应该检查它是否支持编译器命令。 :)

    【讨论】:

    • 他们在同一个目录下,我敢肯定。我应该如何继续安装虚拟环境?我真的是 Linux/Unix 的新手。
    • Cygwin 和您的文件不必在同一目录中。如果你打开cygwin,输入'pwd',你会得到你所在的目录。您必须使用 linux 'cd' 命令来访问 C 文件所在的目录。对于 linux 的东西,你应该得到一个虚拟环境软件,例如虚拟盒子。您还需要一个 linux ISO 文件来设置本地虚拟机。你可以很容易地用谷歌搜索它。 Linux 是一个很好的开始。您可以从其网站下载 Ubuntu 桌面版。该文件将采用 .iso 格式。你可以在你的 virtualbox 中使用它来设置一个虚拟环境。
    猜你喜欢
    • 2016-08-09
    • 2023-01-30
    • 2018-06-17
    • 1970-01-01
    • 2016-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多