您的位置:首页 > 编程语言 > C语言/C++

使用Eclipse(CDT)和MinGW构建Windows上的C/C++开发环境

2009-11-20 21:42 811 查看
多年以来,一直使用Eclipse作为自己的Java IDE, 觉得最好的一点就是它的编辑器功能,所以也尝试使用Eclipse+CDT作为自己的C/C++开发平台,不过早期的CDT版本中编辑器功能以及提供的开发方式并不尽如人意。随着CDT的不断发展,在这些方面都有了长足的进步,已经可以用来作为主要C/C++开发平台。

本文详细介绍了在Window系统上使用Eclipse和MinGW作为C/C++开发平台的的安装和配置过程。

各个软件版本是到目前为止(2009年11月23日)的最新稳定版本:

Eclipse 3.5.1

CDT 6.0.1

MinGW (MinGW-5.1.6, gdb for mingw 6.8, MSYS-1.0.11)

MinGW的安装与配置

MinGW

这里我们采用自动安装方式,手动安装可以参考MinGW.org的在线文档

.

1. 在MingGW的下载页面

下载并运行MinGW-5.1.6.exe

2. 在安装向导的各个页面:

Install orjust download files? -> Download and install

Choose Package -> Current

Choose Components -> MinGW base tools, g++ compiler (不要选择MinGW Make,我们后面要安装的MSYS里面带了更完善的make工具)

Destination Folder -> 输入你要安装到的位置,比如D:/C/MinGW

3. 安装完成后,把MinGW的bin目录,比如D:/C/MinGW/bin加到系统的环境变量PATH中

4. 验证安装: 写一个简单的test.c程序,在命令行输入gcc -o test.exe test.c



, 看编译是否正常

GDB for MinGW

在上面安装的MinGW中,并不包括gdb。为了debug我们的程序,需要单独下载和安装gdb

1. 在MingGW的下载页面

中GNU Source-Level Debugger下,下载gdb-6.8-mingw-3.tar.bz2

2. 使用7-zip解压缩到MinGW的安装目录

3. 验证安装

写一个简单的test.c程序,在命令行输入gcc -o test.exe -g test.c



在命令行运行 gdb test.exe



gdb>

提示符后,输入list



,查看打印出的test.c程序

MSYS

MSYS是一个window上的类似bash 的shell,可以用来替代Windows自带的cmd.exe。它提供了部分Unix平台上的常用工具,包括make。我们需要安装它,以支持在Eclipse CDT上开发使用Makefile的程序。

1. 在MingGW的下载页面

中MSYS Base System下,下载并运行MSYS-1.0.11.exe

2. 安装过程中,指定安装目录,假定是D:/C/msys/1.0

3. 安装到100%时,会弹出DOS窗口,询问是否继续进行post install, 输入y

Do you have MinGW installed?[yn] -> y

Where is your MinGW installation? -> D:/C/MinGW (请用真实的安装目录替换,注意路径分隔符要使用斜杠"/")

4. 安装结束后,把MSYS的bin目录,比如D:/C/msys/1.0/bin加到系统的环境变量PATH中

5. 在命令行输入make -v



验证安装

Eclipse的安装与配置

如果还没有安装JDK

,请先到SUN

的网站

下载安装JDK1.6 (Java SE 6).

对于Eclispe,推荐下载

集成好CDT

的Eclipse

版本,这样配置起来最简单,问题也最少。

下载集成好CDT

的Eclipse(Eclipse
IDE for C/C++ Developers

) windows版本

后,解压缩即可。

简单的C项目示例

假设现在要编写一个华氏温度和摄氏温度之间换算的程序,并按照模块分成了以下三个源程序:

1. temp_convert.h

#ifndef _TEMP_CONVERT_H_
#define _TEMP_CONVERT_H_
double c2f(double);
double f2c(double);
#endif


2. temp_convert.c

#include "temp_convert.h"
double c2f(double c) {
return c * 9.0 / 5.0 + 32;
}
double f2c(double f) {
return (f - 32.0) * 5.0 / 9.0;
}


3. main.c

#include <stdio.h>
#include "temp_convert.h"
int main() {
double i = 0;
printf("Fahrenheit/tCelsius/n");
for (; i <= 100; i++) {
printf("%10.2f/t%7.2f/n", i, f2c(i));
}
return 0;
}


使用Internal Builder

这种方式不需要自己编写makefile,适用于结构简单的项目。

在创建项目的时候,选择 C Project->Executable->Empty Project, ToolsChains 选择 MinGW GCC

把上面的三个程序加入项目,选择Run as "Local C/C++ Application"既可编译运行。

单独编写makefile

对于结构复杂,模块比较多的项目,我们需要编写makefile,来更好的控制程序的编译以及其他相关过程。

在创建项目的时候,选择 C Project->Makefile Project->Empty Project, ToolsChains 选择 MinGW GCC

把上面的三个程序加入项目,然后新建一个makefile,内容如下:

EXE_TARGET = temp_convert.exe
CC = gcc
CFLAGS = -Wall
COMPILE = $(CC) $(CFLAGS) -c
SRCS = $(wildcard *.c)
OBJS = $(patsubst %.c,%.o,$(SRCS))
all: $(EXE_TARGET)

$(EXE_TARGET): $(OBJS)
$(CC) -o $(EXE_TARGET) $(OBJS)
main.o temp_convert.o: temp_convert.h
%.o: %.c
$(COMPILE) -o $@ $<

clean:
-rm $(OBJS) $(EXE_TARGET)


编译的时候,选择Build Project既可,会默认执行all这个target。对于其他的make target,可以在makefile的Outline里面,选中某个target,然后右键菜单"Add make Target".

参考资料

Eclipse CDT online help: C/C++ Development User Guide

MinGW.org: Getting Started
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: