【问题标题】:Running an executable file through Cygwin通过 Cygwin 运行可执行文件
【发布时间】:2014-11-30 06:38:31
【问题描述】:

我最近打开了 Head First C,但我遇到了其中一个程序的问题。 (我使用的是 Windows)

我在名为 Practice 的文件夹下的 Documents 文件夹中保存了一个 cards.c 文件,并在 Cygwin 中导航到该文件夹​​

我使用 gcc cards.c -o cards 编译并且编译没有错误,所以我尝试输入 cards 来运行 exe 文件,但我得到了 -bash : 卡片:找不到命令。

我阅读了几个 stackoverflow 的答案并尝试了多个建议,例如 ./a exe、/a exe、cards.exe、a card、etc/bin/cards 等等,但我只能使用 运行该文件/cygdrive/c/Me/Documents/Practice/cards.exe

我对 Cygwin 有点陌生,所以我想知道是否有我遗漏的东西或更好的方法来解决这个问题?我真的很想学习。在旁注中,我想知道将 cygwin1.dll 从 cygwin bin 文件复制到包含 exe 文件的文件夹是否会有所帮助,但我不知道如何访问 bin 文件来复制它。

【问题讨论】:

  • 试试./cards。但是,如果您想避免这种尴尬的语法,您应该将. 添加到您的PATH。这样你下次就可以输入cards了。
  • 确保程序可以使用“chmod +x 卡”执行。然后使用“./cards”运行它。

标签: c windows bash gcc


【解决方案1】:
  1. 输出文件将命名为cards,而不是cards.exe

  2. 有几种不同的方式来执行该文件,这里是其中的一些方式。

    a) . cards

    b) 在 'cards' 所在目录的 cygwin 命令行中:

     chmod cards 777
     cards
    

    c) 来自卡片所在目录:

      ./cards
    

建议使用 b) 方法,因为它是永久修复

【讨论】:

  • 3) 将正确的目录添加到 PATH 环境变量,即PATH="/cygdrive/c/Me/Documents/Practice:$PATH"。祝大家好运。
猜你喜欢
  • 1970-01-01
  • 2021-01-21
  • 2016-12-25
  • 2015-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-02
  • 1970-01-01
相关资源
最近更新 更多