這個 GCCUI.EXE 是配合上一篇博文《用VC6開發嵌入式LINUX程序》說的:用VC6輔助開發LINUX程序的時候使用。把 gcc 編譯器增加一個簡易的圖形界面,可以自動讀取 vc6 的工程文件,然后用 gcc 的交叉編譯器編譯其中的文件並連接。
黃山松 (Tom Huang) 發表於博客園http://www.cnblogs.com/tomview/
下載連接:
http://files.cnblogs.com/files/tomview/gccui_20160519.rar
免責聲明:
(1)這個程序只是個人使用的,並且適用目標人群是我這樣的老古董程序員,所以估計也沒有其他感興趣的使用者了,但若想嘗試下的使用者,需要自己對於可能的任何問題負責,軟件作者不做任何擔保和保證,不承擔任何責任。
(2)不保證在其他電腦上可以正常使用哦。
(3)沒有技術支持,感興趣的需要自己研究下看看能否使用。
使用說明:
(1)用vc 6新建一個工程,console類型
(2)處理預編譯頭文件的問題
方法一:可以在工程里面刪除預編譯頭文件需要的 stdafx.h 和 stdafx.cpp,並且,在工程屬性里面取消預編譯頭文件的選項,如下圖:
方法二:在 stdafx.h 里面用 #ifdef WIN32 把所有的代碼括起來,這樣在WIN32編譯時可以正常處理,在gcc交叉編譯的時候也沒有影響。
(3)在工程的 Post-build step中設置運行gccui
輸入的 Post-build command 里面格式為:gccui.exe的全路徑 + 空格 +“工程文件名.dsp”,如下所示例:
C:\SysGCC\gccui.exe "E:\hss\Linux\sndtag_kk\linuxlprcore_1.016.[2015年07月18日].新硬件版本1.1\linuxlprcore.dsp"
(4)代碼注意兼容性
注意保證源代碼在 win 和 linux 均可編譯,盡量使用通用的代碼,不兼容的通過 #define WIN32 等隔離。
(5)編譯工程
VC6 Build工程的時候,先用VC6的編譯器編譯工程,編譯連接均無錯誤之后,會調用 gccui.exe 來處理,彈出如下界面:
點擊確定之后則繼續用 gcc 交叉編譯器編譯工程里面的 .c 和 .cpp 文件,並最后連接。
(6)編譯信息輸出
在 vc6 的 output 窗口里面顯示交叉編譯器的編譯和連接信息,當有錯誤的時候,可以雙擊錯誤行自動定位到源代碼位置。
(7)重要局限
只適合小工程,因為沒有特別處理預編譯問題,選擇”全部生成“選項即重新編譯全部源文件;如果選擇”生成“選項則只比較編譯后的 .o 文件和源代碼的時間決定是否重新編譯,沒有處理頭文件的依賴問題,可能導致頭文件內容修改了但是源代碼沒有修改的時候,沒有編譯。對於小工程,推薦選擇”全部生成“即可,每次完全編譯全部的源文件代碼。
此外,當VC6認為沒有代碼改變不編譯的時候,gccui 不會運行,此時若需要用 gcc 編譯,需要保存一下某個源文件,讓 vc6 正常編譯,之后就可以調用 gccui 了。
若在開發中不需要調用 gccui ,開始僅在 WIN 下編程的話,彈出 gccui 界面之后,選擇”取消“按鈕就可以了。





