使用Cygwin编译C程序; 执行错误

Fra*_*k V 15 c gcc cygwin

我注册了硕士计算机科学课程.该课程使用C,如果我们使用Windows ,教师希望我们使用Cygwin编译程序.

我已经下载并安装了Cygwin,并确保我已经安装了GCC编译器.

但我不知道从哪里开始.我需要编译一个具有基本include的源文件.

#include <stdio.h> 
Run Code Online (Sandbox Code Playgroud)

让我们假设文件在我的桌面上(它不是,但为了参数).如何从bash shell导航到桌面?我假设一旦我在bash中导航到正确的位置,我只需执行:

gcc myProgram.c -o myProgram
Run Code Online (Sandbox Code Playgroud)

更新:按照下面发布的不同说明,我能够编译程序; 我为此感谢你.但是当我执行生成的二进制文件时,我得到以下内容.如何编译或执行此程序,以便我没有收到错误?再次谢谢你.

This application has failed to start because cygwin1.dll was not found. Re-installing the application may fix this problem.

Dav*_*eau 14

当你从cygwin开始时,你就在你的$ HOME中,就像unix一般,它默认映射到c:/ cygwin/home/$ YOURNAME.所以你可以把一切都放在那里.

您也可以从cygwin通过/ cygdrive/c /访问c:驱动器(例如/ cygdrive/c/Documents anb Settings/yourname/Desktop).


nik*_*nik 9

关于您丢失的cygwin1.dll的更新问题.

从Cygwin终端检查,

ls /usr/bin/cygwin1.dll
Run Code Online (Sandbox Code Playgroud)

如果它不存在(我怀疑),您的安装没有正确完成.

然后,检查你的路径,

echo $PATH
Run Code Online (Sandbox Code Playgroud)

这将给出:单独的路径列表.它必须包含/usr/bin.如果你发现缺少添加,

export PATH=/usr/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

最后,

  • 我希望您使用cygwin终端中的Cygwin(Cygwin安装的小绿色+黑色图标)或MinTTY(如果安装了它).
  • 并且,您没有将已编译的EXE移动到未安装Cygwin的其他计算机上(如果您这样做,则需要将cygwin1.dll携带到该计算机 - 将其保存在与编译的EXE相同的文件夹中) .


Nat*_*ohl 5

总结一下,以下是一些使用 Cygwin 和 Windows Vista 导航到目录并编译代码的命令:

  1. 启动 Cygwin shell。
  2. 在提示符下,使用cd切换到适当的目录:

    $ cd /cygdrive/c/Users/nate/Desktop

  3. 使用ls列出的目录中的文件:

    $ls

    程序

  4. 使用gcc命令编译此目录下的文件:

    $ gcc prog.c -o prog

  5. 如果您没有看到任何错误,您应该能够运行生成的程序:

    $ ./程序

更新:

对于“ Cygwin1.dll not found”错误,我喜欢 Nik 的回答。您还可以查看有关 cygwin1.dll not found 的相关文章,它建议添加c:\cygwin\bin\到您的 Windows PATH。

关于如何更改Windows XP的 Windows PATH 变量的说明,在 Vista 上我认为它是相似的。

  1. 进入控制面板 -> 系统
  2. 选择高级系统设置
  3. 单击高级选项卡
  4. 点击环境变量
  5. System Variables 下,找到Path条目并单击Edit
  6. 添加c:\cygwin\bin到列表中,确保用分号将它与之前的任何项目分开