准备几样东西
编译器 mingw 5.0.0 (windows下的配置为例)
选装Gcc,Make(和c/c++相关的都装上)
GDB 调试器
http://www.mingw.org/download.shtmlide eclipse 3.1.2 + cdt 3.0.1 (eclipse是基于java的,需要配置java环境)
http://www.eclipse.org/downloads/
http://java.sun.comformatter AStyle c/c++ java c# 代码格式化工具
http://sourceforge.net/projects/astyle/一.安装mingw
1. 到指定目录,我的安装路径为 D:\Develop\MinGW
2. 配置系统环境变量
MINGW_HOME = D:\Develop\MinGW
class_path = .;%MINGW_HOME%\lib
path = .;%MINGW_HOME%\bin
当系统中有多个c++开发包的时候,写在前面的路径优先
mingw中的make程序名为 mingw32-make.exe ,推荐将其改名为make
二.安装 eclipse 3.12
1.安装jdk+jre (我机器上是j2sdk 1.5 路径为 D:\Develop\J2SDK )
2.配置java系统环境变量
JAVA_HOME = D:\Develop\J2SDK
class_path = .;%JAVA_HOME%\lib
path = .;%JAVA_HOME%\bin
3.下载Eclipse 解压到指定目录,直接就可以执行,如果java环境配置没有问题的话
4.安装cdt (c/c++ develop kit)
我按照网上的方法安装数次都不行 (将org.eclipse.cdt-3.x.x-win32.x86.zip 和 org.eclipse.cdt.sdk-3.0.1-win32.x86.zip 中的文件copy到eclipse安装目录的对应目录中)
最后用eclipse自动升级的办法 打开eclipse help-->software updates-->find an install
选中search for new features to install , 点next, new remote site ,
name = cdt 3.01
url =
http://download.eclipse.org/tools/cdt/releases/eclipse3.1 然后选择 finish ,选中所有文件,开始下载,下载完成后会自动提示安装, 安装完成后 apply change ,然后重启eclipse
就可以在eclipse下进行c/c++ 开发了
还有一个问题需要注意,cdt的一个问题,在对c++文件建立indexer时会在75%的时候卡住,而且cpu占用率通常都是100% ,我知道的唯一的解决办法是将indexer功能关闭 windows-->perferences--> c/c++-->indexer 选择No Indexer
三.安装astyle
由于eclipse本身没有针对c/c++的代码格式化工具,所以我们需要借助第三方的工具,我选用astyle一个小巧的,opensource的代码格式化工具,安装非常简单,解压到指定目录下,只有一个可执行文件,astyle.exe ,其他的都是source doc, 可以直接在命令行下使用,语法参阅相关文档
我将其整合到了gvim , editplus ,eclipse中 . eclipse-->external tools-->program 选择new 新建
name = Formatter C++
localtion = D:\Develop\AStyle1.15\astyle.exe
working directory = ${workspace_loc:/${project_name}}
arguments = --style=kr --mode=c++ --indent=spaces=2 ${resource_name}
确定就ok了.
使用的时候 直接选择 Formatter C++ 就ok了 这里的设置表示,代码风格为k&r, 语法c++ ,代码缩进2空格
四,测试代码
新建一个managed c++ project
新建一个c++ 文件 helloWorld.cpp
/*helloWorld.cpp*/
#include <iostream>
using namespace std;
int main() {
char str[100] = "hello world!!";
cout << str << endl;
}
新建makefile
# Project: helloWorld
CPP = g++
CC = gcc
LIBS =
INCS =
CXXINCS =
CXXFLAGS = -o -Wall -g $(CXXINCS) $(LIBS)
CFLAGS = -o -Wall -g
.c.o: $(CC) $(CFLAGS) $<
.cpp.o: $(CPP) $(CXXFLAGS) $<
all: helloWorld
helloWorld: helloWorld.o
$(CPP) -o helloWorld helloWorld.o $(CXXINCS) $(LIBS)
helloWorld.o: helloWorld.cpp
clean:
del *.exe *.orig *.o