在Visual C++ 中如何調用其它編譯器編譯cpp文件呢? 換句話說如何把其它編譯器集成到VC的IDE中呢?
象IIC這樣的編譯器安裝之後會自動集成進來要集成其他編譯器那還得自己動手下面介紹一種簡單的方法
另外在VC的IDE中是不能編譯單個cpp文件的除非把它放在工程中但是我們可以通過調用外部工具實現編譯單文件
把clexe添加到外部工具的方法這裡就不介紹了大家參照下面添加gcc的方法再查閱clexe的參數說明就能試著添加進來
下面以調用G++為例說明如何編譯cpp文件如果要編譯單個c文件使用gcc即可方法同理
首先獲取Windows版的 GNU C++ Compiler (g++)你可以通過安裝 Cygwin 或者 MinGW 來獲得 g++ for Windows
以MinGW為例我們可以下載Dev C++ Dev C++目前最新版為安裝 Dev C++的同時就安裝了MinGW其中包含了 G++
假設 Dev C++ 安裝在 D\DevCpp 目錄下
下面我們在VC的菜單點擊 工具(Tools) > 外部工具(External Tools) > 添加(Add)
分別填入
標題(Title) GNU C++ Compiler
命令(Command) D\DevCpp\bin\g++exe
參數(Arguments) Wall o $(ItemFileName) $(ItemFileName)$(ItemExt) time
初始目錄(Initial directory) $(ItemDir)
再鉤選下面的使用輸出窗口(Use Output window)
說明如果你已經把D\DevCpp\bin\目錄添加到系統環境變量中那麼 Command指定為g++exe即可Cygwin同理
這些參數只是一個參考你可以查閱VC編譯器的宏設置你需要的參數
干脆順帶補充一下Digital Mars C++編譯器的參考參數設置
標題(Title) Digital Mars
命令(Command) C\dm\bin\dmcexe
參數(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++將輸出類似以下的信息
# ccplus
# as
# collect
這是 time 報告的編譯過程中每個子過程所占用的CPU時間
當然你還可以更改編譯參數使輸出窗口輸出其他編譯信息
我們還可以通過添加外部工具來實現運行g++生成的程序的功能步驟如下
在VC的菜單點擊工具(Tools) > 外部工具(External Tools) > 添加(Add)
分別填入
標題(Title) Run as C++ Application
命令(Command) %systemroot%\system\cmdexe
參數(Arguments) /c $(ItemFileName)exe
初始目錄(Initial directory) $(ItemDir)
不要鉤選下面的使用輸出窗口和退出時關閉
注意cpp文件必須放在工程中g++生成的程序才能被運行!
另外用MinGW的g++編譯的程序不能在沒有安裝MinGW的Windows系統上運行因為它依賴於MinGW庫
即便是通過VC編譯出的不帶預編譯頭的Win控制台應用程序也就是用空環境這樣編譯出來的可執行文件也不是放在哪台機子都能跑的
下面講講如何設置快捷鍵
點擊菜單中的工具>自定義
點擊右下角的 鍵盤
點擊 按快捷鍵 下面的文本框
按下 Shift + Ctrl + F 如果這個快捷鍵已經分配給了其他的命令更換一個即可
在顯示命令包含 中填入工具外部命令 再點擊 分配 按鈕
點確定再點關閉
這樣就給 GNU C++ Compiler 分配了快捷鍵 Shift + Ctrl + F
注意剛才是在GNU C++ Compiler 位於 外部工具菜單的第項的情況下在顯示命令包含 中填入工具外部命令!
同理我們可以給 Run as C++ Application 分配一個快捷鍵
再講講如何分配一個工具條
點擊菜單中的工具>自定義 點擊 工具欄 選項卡
點擊新建
在工具欄名稱中填入g++
切換到 命令 選項卡
點擊 類別 中的 工具
在右邊的命令把 外部命令 拖動到剛才建立的g++工具條上
先不要關閉 自定義 對話框
下面單擊g++工具條上的 GNU C++ Compiler 按鈕
再點擊自定義 對話框 中的 修改選中的內容按鈕設置工具條中按鈕的名稱和文字等屬性
Run as C++ Application 也可以通過這種方式放到g++工具條中
通過這樣的集成為初學者學習純C++提供了便利我認為對於標准C++的初學者而言不能認為用VC編譯通過就萬事大吉了用g++編譯檢查一次是必要的現在我們只需要按一下快捷鍵就知道了這份代碼是否能通過其它編譯器例如g++的編譯不用再切換到命令行來重新編譯程序
但是若想把g++的輸出結果輸出到錯誤列表或者是用VC的IDE來調試g++生成的程序應該是絕無可能了其實也沒什麼必要個人認為
感覺g++的錯誤提示比VC要智能得多這有利於我們快速地找到問題的根源
如果感興趣你還可以把makeexe等添加到VC的外部工具中以實現編譯整個工程的目標當然在工程中少不了makefile
GDBexe也是可以集成進來的不過不要忘了參數(Arguments)應為 g Wall o $(ItemFileName) $(ItemFileName)$(ItemExt) time其中參數 g 生成調試信息GNU 調試器可利用該信息
From:http://tw.wingwit.com/Article/program/net/201311/13623.html