简书链接:windowcygwinc环境搭建
文章字数:1177,阅读全文大约需要4分钟
https://cygwin.com/install.html
下载32 或者64位
下载cygwin,在选择从internet下载的时候建议添加镜像站,提高下载速度
http://mirrors.163.com/.help/cygwin.html
选择从互联网安装, 在”User URL”处输入以下地址
http://mirrors.163.com/cygwin/
在搜索输入框搜索下面的东西然后点击Skip就会变成一个版本号, 而右边有一个bin,出现了一个x,再点击可能会出现版本号变化,甚至 New的字段会出现src源代码也勾选,然后最后又变成了skip,也就是不下载,按照国际惯例教程,都是选择带gun字样的进行安装,
搜索的时候View选择full,

gcc, gcc-core, gcc-g++, gcc-mingw-core, gcc-mingw-g++, make , gdb, binutils
我就下载了gcc-core,gcc-g++, make ,gdb
如果在eclipse跑起来出现了一个问题也就是cygwin提示的问题的话说明没有安装好,我刚开始的时候以为搜索需要按回车键结果直接就下载某些东西了,导致一直报错,后面我把cygwin目录删除了重新装了一遍才好。
然后在eclipse点击锤子就可以进行编译了,然后点击源文件->运行就可以看到控制台输出了.
下一步就会进行下载
最后就完成安装了,
当下次还需要安装的时候可以重新打开安装包,默认将识别上次的配置。
配置环境变量
类似这样的路径
F:\cygwin64\bin;
然后控制台输入make -version
出现了下面的类似就是代表make成功了 输入gcc --version如果能看到版本号也说明gcc也成功下载了

1
2
3
4
5
6
7
8
9
10
11
12
C:\Users\Administrator>make -version
GNU Make 4.2.1
Built for x86_64-unknown-cygwin
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
C:\Users\Administrator>gcc --version
gcc (GCC) 5.4.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

下面是点击完成输出的一些东西。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
binutils	(2.25-4)
GNU assembler, linker, and similar utilities
Required by: gcc-core, python, python2

bzip2 (1.0.6-3)
BZip file de/compressor
Required by: tar

ca-certificates (2.14-1)
CA root certificates
Required by: libopenssl100

cygwin-devel (2.8.2-1)
Core development files
Required by: gcc-core, python

groff (1.22.3-1)
GNU roff formatter
Required by: man-db

less (487-1)
A file pager program, similar to more(1)
Required by: man-db

libargp (20110921-3)
Interface for parsing command-line arguments
Required by: getent

libatomic1 (5.4.0-1)
GCC C11/C++11 locked atomics runtime library
Required by: gcc-core

libattr1 (2.4.46-1)
Shared lib for managing filesystem extended attributes
Required by: coreutils

libblkid1 (2.25.2-2)
Block device ID library (runtime)
Required by: util-linux

libbz2_1 (1.0.6-3)
BZip file de/compressor
Required by: python, bzip2, python2

libcrypt0 (1.4-1)
Encryption/Decryption utility and library
Required by: python, libguile17, libguile2.0_22, python2

libdb5.3 (5.3.28-1)
Oracle Berkeley DB (runtime)
Required by: python, python2

libexpat1 (2.2.3-1)
Expat XML parser library (shared library)
Required by: gdb, python, python2

libffi6 (3.2.1-2)
Portable foreign function interface library
Required by: python, libguile2.0_22, python2, libp11-kit0

libgc1 (7.6.0-1)
Boehm-Demers-Weiser garbage collector library
Required by: libguile2.0_22

libgcc1 (5.4.0-1)
GCC C runtime library
Required by: gcc-core, libmpfr4, libgomp1, libquadmath0, libstdc++6, libncursesw10, libguile2.0_22, groff, libuuid1, libdb5.3, libgc1, libunistring2

libgdbm4 (1.12-1)
GNU dbm implementation
Required by: man-db, python, python2

libgmp10 (6.1.2-1)
Library for arbitrary precision arithmetic (C runtime)
Required by: coreutils, gawk, gcc-core, gcc-g++, libmpfr4, libisl13, libmpc3, libguile17, libguile2.0_22

libgomp1 (5.4.0-1)
GCC OpenMP runtime library
Required by: gcc-core

libguile17 (1.8.8-3)
GNU Scheme interpreter library
Required by: make

libguile2.0_22 (2.0.14-1)
GNU Scheme interpreter library
Required by: make

libiconv (1.14-3)
Unicode iconv() implementation
Required by: man-db

libiconv2 (1.14-3)
Unicode iconv() implementation
Required by: alternatives, bash, coreutils, diffutils, gcc-core, gcc-g++, gdb, grep, info, man-db, tar, vim-minimal, libintl8, libpopt0, libguile2.0_22, groff, libiconv, libunistring2

libintl8 (0.19.8.1-2)
GNU Internationalization runtime library
Required by: alternatives, bash, coreutils, diffutils, findutils, gawk, gcc-core, gcc-g++, gdb, grep, info, make, man-db, sed, tar, util-linux, libattr1, libpopt0, binutils, python, libguile17, libguile2.0_22, libgdbm4, libiconv, xz, libblkid1, libsmartcols1, libuuid1, python2, libp11-kit0

libisl13 (0.14.1-1)
Integer Set Library (runtime)
Required by: gcc-core, gcc-g++

libltdl7 (2.4.6-4)
Libtool dynamic library loader library (runtime)
Required by: libguile17, libguile2.0_22

liblzma5 (5.2.3-1)
LZMA de/compressor library (runtime)
Required by: gdb, xz

libmpc3 (1.0.3-1)
C library for multiple-precision floating-point computations with exact rounding (runtime)
Required by: gcc-core, gcc-g++

libmpfr4 (3.1.5-1p10)
A library for multiple-precision floating-point arithmetic with exact rounding (runtime)
Required by: gawk, gcc-core, gcc-g++, libmpc3

libncursesw10 (6.0-11.20170617)
Terminal display library
Required by: gdb, info, libreadline7, ncurses, util-linux, vim-minimal, python, less, python2

libp11-kit0 (0.23.5-1)
PKCS#11 module library
Required by: p11-kit, p11-kit-trust

libpcre1 (8.40-3)
Perl Compatible Regular Expressions UTF-8 runtime
Required by: grep

libpipeline1 (1.4.0-1)
C library for manipulating pipelines of subprocesses - runtime
Required by: man-db

libpopt-common (1.16-2)
Command-line option parser library
Required by: libpopt0

libpopt0 (1.16-2)
Command-line option parser library
Required by: cygutils

libquadmath0 (5.4.0-1)
GCC Quad-Precision Math runtime library
Required by: gcc-core

libsigsegv2 (2.10-2)
Library for handling page faults in user mode (runtime)
Required by: diffutils

libsmartcols1 (2.25.2-2)
Tabular data formatting library (runtime)
Required by: util-linux

libsqlite3_0 (3.19.3-1)
An embeddable SQL database engine (library)
Required by: python, python2

libssp0 (5.4.0-1)
GCC Stack-Smashing Protection runtime library
Required by: gcc-core, vim-minimal

libstdc++6 (5.4.0-1)
GCC C++ runtime library
Required by: gcc-g++, libncursesw10, groff, libdb5.3, libgc1

libtasn1_6 (4.12-1)
ASN.1 library
Required by: p11-kit, p11-kit-trust

libunistring2 (0.9.6-1)
Library for manipulating Unicode strings - runtime
Required by: libguile2.0_22

libuuid-devel (2.25.2-2)
Universally Unique ID library (development)
Required by: python, python2

libuuid1 (2.25.2-2)
Universally Unique ID library (runtime)
Required by: util-linux, libblkid1, libuuid-devel

libvtv0 (5.4.0-1)
GCC vtable verification library
Required by: gcc-core

p11-kit (0.23.5-1)
PKCS#11 module tool
Required by: ca-certificates

p11-kit-trust (0.23.5-1)
PKCS#11 module library
Required by: ca-certificates

python (2.7.13-1)
Obsoleted by python2
Required by: gdb

python2 (2.7.13-1)
Python 2 language interpreter
Required by: python

tzcode (2016j-1)
Time Zone Database utilities
Required by: coreutils

w32api-headers (5.0.2-1)
MinGW-w64 Windows API headers for Cygwin
Required by: gcc-core, w32api-runtime

w32api-runtime (5.0.2-1)
MinGW-w64 Windows API import libraries for Cygwin
Required by: gcc-core

windows-default-manifest (6.4-1)
Default Windows application manifest
Required by: gcc-core

xz (5.2.3-1)
LZMA de/compressor
Required by: tar

zlib0 (1.2.11-1)
gzip de/compression library (runtime)
Required by: file, gcc-core, gcc-g++, libopenssl100, man-db, util-linux, binutils, python, python2


用eclipse开发 c

http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/keplersr2
下载和电脑java 32或者64,一定要一样,不然会打开出现找不到jni xx .dll
新建C/C++项目
在Executable选项卡中可以看到右边 分别列出来了识别到的c编译器
Cross GCC Cygwin GCC Microsoft Visual C++
如果没有Cygwin说明环境变量的配置是有问题的.

如果还需要带java的话。。
http://www.eclipse.org/downloads/eclipse-packages/
下载java的se,然后再下载cdt插件。
http://www.eclipse.org/cdt/
http://www.eclipse.org/cdt/downloads.php
https://jingyan.baidu.com/article/456c463b67b4310a59314468.html
c代码hello world

1
2
3
4
5
6
7
8
#include <iostream>
using namespace std;

int main() {
cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
return 0;
}

我的做法是新建C++ Project ->Executable -Hello World C++ Project -ToolChains选择Cygwin GCC
点击Next会自动配置Source目录。
不然的话比较乱的,没有source目录的话。