準備幾樣東西
編譯器 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