我注册了计算机科学硕士课程。该课程使用C,如果我们使用Windows,教师希望我们使用Cygwin来编译程序。
我已经下载并安装了Cygwin,我确保已经安装了GCC compiler。
但我不知道从哪里开始。我需要编译一个具有基本包含的单个源文件。
#include <stdio.h>
让我们假设文件在我的桌面上(它不是,但为了参数)。如何从bash shell导航到桌面?我假设一旦我在bash中导航到正确的位置,我只需执行:
gcc myProgram.c -o myProgram
更新:按照下面发布的不同说明,我可以编译程序;我为此感谢你。但是当我执行生成的二进制文件时,我得到以下内容。如何编译或执行此程序,以便我没有收到错误?再次,谢谢。
This application has failed to start because cygwin1.dll was not found. Re-installing the application may fix this problem.
答案 0 :(得分:14)
当你从cygwin开始时,你就在你的$ HOME中,就像unix一般,它默认映射到c:/ cygwin / home / $ YOURNAME。所以你可以把所有东西放在那里。
你也可以从cygwin通过/ cygdrive / c /访问c:驱动器(例如/ cygdrive / c / Documents anb Settings / yourname / Desktop)。
答案 1 :(得分:9)
关于缺少cygwin1.dll 的更新问题。
从Cygwin终端检查,
ls /usr/bin/cygwin1.dll
如果不存在(我怀疑),您的安装没有正确完成。
然后,用
检查你的路径echo $PATH
这将为:
分隔路径列表。它必须包含/usr/bin
。如果您发现丢失,请添加,
export PATH=/usr/bin:$PATH
最后,
答案 2 :(得分:4)
寻找(即cd
至)
/cygdrive/c/
通常是您的C:\
另请查看Using Cygwin,Lifehacker introduction (June/2006)和此biomed page at PhysioNet。
答案 3 :(得分:4)
总结一下,这里有一些导航到目录并使用Cygwin和Windows Vista编译代码的命令:
在提示符处,使用cd
更改为相应的目录:
$ cd / cygdrive / c / Users / nate / Desktop
使用ls
列出目录中的文件:
$ ls
prog.c中
使用gcc
命令编译此目录中的文件:
$ gcc prog.c -o prog
如果您没有看到任何错误,您应该能够运行生成的程序:
$ ./prog
<强>更新强>
对于“Cygwin1.dll not found
”错误,我喜欢Nik的回答。您还可以查看this related post about cygwin1.dll not found,建议在您的Windows PATH中添加c:\cygwin\bin\
。
Windows XP有instructions on how to change the Windows PATH variable,在Vista上我认为它类似。
c:\cygwin\bin
添加到列表中,确保使用分号将其与之前的任何项目分开答案 4 :(得分:4)
关于cygwin1.dll
未找到错误,我使用了至少8年的解决方案是将Cygwin bin目录添加到我的计算机中%PATH%
的末尾 - &gt;属性 - &gt;高级 - &gt;环境变量。我将它们添加到路径的末尾,所以在我的正常工作中,最后搜索它们,最大限度地减少冲突的可能性(实际上,我一直没有遇到冲突问题)。
当您调用Cygwin Bash Shell时,这些目录会被添加到%PATH%
前面,所以一切都在该环境中按预期工作。
如果没有在Cygwin shell中运行,我的%PATH%
就是:
Path=c:\opt\perl\bin; \
...
C:\opt\cygwin\bin; \
C:\opt\cygwin\usr\bin; \
C:\opt\cygwin\usr\local\bin;
这样,例如,当我不在Cygwin Shell中时,首先找到ActiveState Perl的perl,但是当我在Cygwin Shell中工作时会找到Cygwin perl。
答案 5 :(得分:2)
如果您对bash不满意,可以继续使用标准的Windows命令(即DOS)shell。
要使其工作,您必须将C:\ cygwin \ bin(或您的本地替代)添加到Windows PATH变量。
完成后,您可以: 1)打开命令(DOS)shell 2)将目录更改为代码的位置(c:,然后cd path \ to \ file) 3)gcc myProgram.c -o myProgram
正如nik的回复中所提到的,“使用Cygwin”文档是了解更多内容的好地方。
答案 6 :(得分:1)
cygwin下的Windows路径C:\src
变为/cygdrive/c/src
答案 7 :(得分:1)
如果您只是执行gcc program.c -o program -mno-cygwin,它将编译得很好,您不需要将cygwin1.dll添加到您的路径中,您可以继续将可执行文件分发到计算机它没有安装cygwin,它仍然会运行。希望这有帮助
答案 8 :(得分:0)
使用Cygwin编译C程序
我们将使用Cygwin上的gcc编译器来编译程序。
1)启动Cygwin
2)键入
,切换到为此课程创建的目录cd c:/ windows / desktop
3)输入
编译程序gcc myProgram.c -o myProgram
命令gcc调用gcc编译器来编译你的C程序。
答案 9 :(得分:0)
您最好在cygwin shell中编辑文件。通常,启动时它具有默认用户目录。您可以从shell编辑文件,例如“vi somefile.c”或“emacs somefile.c”。这是假设在cygwin中安装了vi或emacs。
如果要在桌面上存档,则必须转到类似(在XP上)到“/ cygwindrive / c / Documents \和\ Settings / Frank / Desktop”的路径(如果内存正常供应)。只需cd到该路径,然后在文件上运行命令。
答案 10 :(得分:0)
Cygwin非常酷!您可以从其他系统(例如Linux),编译程序,它们将起作用。我甚至在谈论通信程序或网络服务器。
这是一招。如果您在Windows文件资源管理器中查看文件,可以在bash窗口中键入“cd”,然后从资源管理器的地址栏拖动到cygwin窗口,完整路径将被复制!顺便说一句,这也适用于Windows命令shell。
另外:虽然“cd / cygdrive / c”是正式路径,但它也会接受“cd c:”作为快捷方式。在拖动路径的其余部分之前,您可能需要执行此操作。
应该自动找到stdio.h文件,就像传统系统一样。
答案 11 :(得分:0)
此文件(cygwin1.dll)是类似于qt依赖的cygwin依赖项。您必须复制此文件和此类消息中出现的类似文件错误,来自&#34; cygwin / bin&#34;到你的程序的文件夹。此外,有必要在另一台没有cygwin的计算机上运行!