这个 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 界面之后,选择”取消“按钮就可以了。