程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> 把其他C/C++編譯器集成到VC2005中

把其他C/C++編譯器集成到VC2005中

編輯:vc教程

  在Visual C++ 2005中,如何調用其它編譯器編譯cpp文件呢? 換句話說,如何把其它編譯器集成到VC2005的IDE中呢?

  象IIC這樣的編譯器安裝之後會自動集成進來,要集成其他編譯器那還得自己動手。下面介紹一種簡單的方法。

  另外,在VC2005的IDE中是不能編譯單個.cpp文件的,除非把它放在工程中。但是,我們可以通過調用外部工具實現編譯單文件。

  把cl.exe添加到外部工具的方法這裡就不介紹了,大家參照下面添加gcc的方法,再查閱cl.exe的參數說明,就能試著添加進來。

  下面以調用G++為例說明如何編譯cpp文件。如果要編譯單個.c文件,使用gcc即可,方法同理。

  首先獲取Windows版的 GNU C++ Compiler (g++)。你可以通過安裝 Cygwin 或者 MinGW 來獲得 g++ for Windows.

  以MinGW為例,我們可以下載Dev C++, Dev C++目前最新版為4.9.9.2。安裝 Dev C++的同時就安裝了MinGW,其中包含了 G++ 3.4.2,

  假設 Dev C++ 安裝在 D:Dev-Cpp 目錄下。

  下面我們在VC2005的菜單點擊 “工具(Tools) -> 外部工具(External Tools) -> 添加(Add)”。

  分別填入:

  標題(Title): GNU C++ Compiler

  命令(Command): D:Dev-Cpping++.exe

  參數(Arguments): -Wall -o $(ItemFileName) $(ItemFileName)$(ItemExt) -time

  初始目錄(Initial directory): $(ItemDir)

  再鉤選下面的"使用輸出窗口(Use Output window)".

  說明:如果你已經把D:Dev-Cppin目錄添加到系統環境變量中,那麼 Command指定為g++.exe即可。Cygwin同理。

  這些參數只是一個參考。你可以查閱VC編譯器的宏設置你需要的參數。

  干脆順帶補充一下Digital Mars C++編譯器的參考參數設置:

  標題(Title): Digital Mars

  命令(Command): C:dmindmc.exe

  參數(Arguments): $(ItemFileName) $(ItemFileName)$(ItemExt)

  初始目錄(Initial directory): $(ItemDir)

  下面切換到main函數所在文件,點擊工具(Tools)菜單下的“GNU C++ Compiler”開始編譯。

  注意g++此時編譯的指是純C++程序,對於包含 int _tmain(int argc, _TCHAR* argv[]) 這類VC特有的C++程序自然是無法通過編譯的。

  如果編譯沒有出錯,對於早期版本的g++而言,Output window是沒有任何輸出的。

  而對於較新版本的g++,將輸出類似以下的信息:

# cc1plus 0.67 0.22
# as 0.05 0.01
# collect2 0.36 0.19

  這是 -time 報告的編譯過程中每個子過程所占用的CPU時間。

  當然,你還可以更改編譯參數,使輸出窗口輸出其他編譯信息。

  我們還可以通過添加外部工具來實現運行g++生成的程序的功能。步驟如下:

  在VC2005的菜單點擊“工具(Tools) -> 外部工具(External Tools) -> 添加(Add)”。

  分別填入:

  標題(Title): Run as C++ Application

  命令(Command): %systemroot%system32cmd.exe

  參數(Arguments): /c $(ItemFileName).exe

  初始目錄(Initial directory): $(ItemDir)

  不要鉤選下面的“使用輸出窗口”和“退出時關閉”。

  注意:cpp文件必須放在工程中,g++生成的程序才能被運行!

  另外,用MinGW的g++編譯的程序不能在沒有安裝MinGW的Windows系統上運行。因為它依賴於MinGW庫。

  即便是通過VC2005編譯出的不帶預編譯頭的Win32控制台應用程序,也就是用空環境,這樣編譯出來的可執行文件也不是放在哪台機子都能跑的。

  下面講講如何設置快捷鍵。

  點擊菜單中的"工具->自定義",

  點擊右下角的 "鍵盤",

  點擊 "按快捷鍵" 下面的文本框,

  按下 Shift + Ctrl + F7, 如果這個快捷鍵已經分配給了其他的命令,更換一個即可。

  在"顯示命令包含" 中填入“工具.外部命令6", 再點擊 “分配” 按鈕.

  點"確定",再點“關閉”.

  這樣就給 GNU C++ Compiler 分配了快捷鍵 Shift + Ctrl + F7

  注意剛才是在GNU C++ Compiler 位於 外部工具菜單的第6項的情況下,在"顯示命令包含" 中填入“工具.外部命令6"!

  同理,我們可以給 Run as C++ Application 分配一個快捷鍵。

  再講講如何分配一個工具條。

  點擊菜單中的"工具->自定義", 點擊 "工具欄" 選項卡.

  點擊“新建”,

  在工具欄名稱中填入“g++”,

  切換到 "命令" 選項卡.

  點擊 "類別" 中的 "工具",

  在右邊的命令把 “外部命令6” 拖動到剛才建立的g++工具條上.

  先不要關閉 "自定義" 對話框.

  下面單擊g++工具條上的 GNU C++ Compiler 按鈕

  再點擊自定義 對話框 中的 “修改選中的內容”按鈕,設置工具條中按鈕的名稱和文字等屬性。

  Run as C++ Application 也可以通過這種方式放到g++工具條中。

  通過這樣的集成,為初學者學習純C++提供了便利。我認為,對於標准C++的初學者而言,不能認為用VC編譯通過就萬事大吉了。用g++編譯檢查一次是必要的。現在我們只需要按一下快捷鍵,就知道了這份代碼是否能通過其它編譯器,例如g++,的編譯,不用再切換到命令行來重新編譯程序。

  但是若想把g++的輸出結果輸出到錯誤列表,或者是用VC的IDE來調試g++生成的程序,應該是絕無可能了。其實也沒什麼必要。個人認為。

  感覺g++的錯誤提示比VC要智能得多,這有利於我們快速地找到問題的根源。

  如果感興趣,你還可以把make.exe等添加到VC2005的外部工具中,以實現編譯整個工程的目標。當然,在工程中少不了makefile.

  GDB.exe也是可以集成進來的,不過不要忘了參數(Arguments)應為 -g -Wall -o $(ItemFileName) $(ItemFileName)$(ItemExt) -time,其中參數 -g 生成調試信息。GNU 調試器可利用該信息。

  1. 上一頁:
  2. 下一頁:
欄目導航
Copyright © 程式師世界 All Rights Reserved