在VC2005中,如何調(diào)用其它編譯器編譯cpp文件呢?
在VC2005中不能編譯單個(gè).cpp文件,除非把它放在工程中。但是,我們可以通過調(diào)用外部工具實(shí)現(xiàn)編譯單文件。
下面以調(diào)用G++為例說明如何編譯cpp文件。如果要編譯單個(gè).c文件,使用gcc即可,方法同理。
首先獲取Windows版的 GNU C++ Compiler (g++)。你可以通過安裝 Cygwin 或者 MinGW 來獲得 g++ for Windows.
以MinGW為例,我們可以下載Dev C++, Dev C++目前最新版為4.9.9.2。安裝 Dev C++的同時(shí)就安裝了MinGW,其中包含了 G++ 3.4.2,
假設(shè) Dev C++ 安裝在 D:\Dev-Cpp 目錄下。
下面我們?cè)赩C2005的菜單點(diǎn)擊 “工具(Tools) -> 外部工具(External Tools) -> 添加(Add)”。
分別填入:
標(biāo)題(Title): GNU C++ Compiler
命令(Command): D:\Dev-Cpp\bin\g++.exe
參數(shù)(Arguments): -Wall -o $(ItemFileName) $(ItemFileName)$(ItemExt) -time
初始目錄(Initial directory): $(ItemDir)
再鉤選下面的"使用輸出窗口(Use Output window)".
說明:如果你已經(jīng)把D:\Dev-Cpp\bin\目錄添加到系統(tǒng)環(huán)境變量中,那么 Command指定為g++.exe即可。Cygwin同理。?
好,下面切換到main函數(shù)所在文件,點(diǎn)擊工具(Tools)菜單下的“GNU C++ Compiler”
如果編譯沒有出錯(cuò),對(duì)于早期版本的g++而言,Output window是沒有任何輸出的。
而對(duì)于較新版本的g++,將輸出類似以下的信息:
# cc1plus 0.67 0.22
# as 0.05 0.01
# collect2 0.36 0.19
這是 -time 報(bào)告的編譯過程中每個(gè)子過程所占用的CPU時(shí)間。
當(dāng)然,你還可以更改編譯參數(shù),使輸出窗口輸出其他編譯信息。
我們還可以通過添加外部工具來實(shí)現(xiàn)運(yùn)行g(shù)++生成的程序的功能。步驟如下:
在VC2005的菜單點(diǎn)擊“工具(Tools) -> 外部工具(External Tools) -> 添加(Add)”。
分別填入:
標(biāo)題(Title): Run as C++ Application
命令(Command): %systemroot%\system32\cmd.exe
參數(shù)(Arguments): /c $(ItemFileName).exe
初始目錄(Initial directory): $(ItemDir)
不要鉤選下面的“使用輸出窗口”和“退出時(shí)關(guān)閉”。
注意:cpp文件必須放在工程中,g++生成的程序才能被運(yùn)行!
下面講講如何設(shè)置快捷鍵。
點(diǎn)擊菜單中的"工具->自定義",
點(diǎn)擊右下角的 "鍵盤",
點(diǎn)擊 "按快捷鍵" 下面的文本框,
按下 Shift + Ctrl + F7, 如果這個(gè)快捷鍵已經(jīng)分配給了其他的命令,更換一個(gè)即可。
在"顯示命令包含" 中填入“工具.外部工具6", 再
點(diǎn)擊 “分配” 按鈕.
點(diǎn)"確定",再點(diǎn)“關(guān)閉”.
這樣就給 GNU C++ Compiler 分配了快捷鍵 Shift + Ctrl + F7
注意剛才是在GNU C++ Compiler 位于 外部工具菜單的第6項(xiàng)的情況下,在"顯示命令包含" 中填入“工具.外部工具6"!
同理,我們可以給 Run as C++ Application 分配一個(gè)快捷鍵。
再講講如何分配一個(gè)工具條。
點(diǎn)擊菜單中的"工具->自定義", 點(diǎn)擊 "工具欄" 選項(xiàng)卡.
點(diǎn)擊“新建”,
在工具欄名稱中填入“g++”,
切換到 "命令" 選項(xiàng)卡.
點(diǎn)擊 "類別" 中的 "工具",
在右邊的命令把 “外部命令6” 拖動(dòng)到剛才建立的g++工具條上.
先不要關(guān)閉 "自定義" 對(duì)話框.
下面單擊g++工具條上的 GNU C++ Compiler 按鈕
再點(diǎn)擊自定義 對(duì)話框 中的 “修改選中的內(nèi)容”按鈕,設(shè)置工具條中按鈕的名稱和文字等屬性。
Run as C++ Application 也可以通過這種方式放到g++工具條中。
如果感興趣,你還可以把make.exe等添加到VC2005的外部工具中,以實(shí)現(xiàn)編譯整個(gè)工程的目標(biāo)。當(dāng)然,在工程中少不了makefile.
GDB.exe也是可以集成進(jìn)來的,不過不要忘了參數(shù)(Arguments)應(yīng)為 -g -Wall -o $(ItemFileName) $(ItemFileName)$(ItemExt) -time,其中參數(shù) -g 生成調(diào)試信息。GNU 調(diào)試器可利用該信息。
經(jīng)過改造,VC2005可以被打造成一個(gè)基于開源編譯器和調(diào)試器的集成開發(fā)環(huán)境。具體后續(xù)步驟我會(huì)慢慢補(bǔ)充。