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

最新文章

  1. BZOJ 2693: jzptab [莫比乌斯反演 线性筛]
  2. codeforces 86D : Powerful array
  3. Remove Duplicates from Sorted List | & ||
  4. SQL增加,删除,更改表中字段
  5. APUE第一章_课后习题
  6. hadoop的相关资料链接
  7. C语言基础文件读写操作
  8. 黑马程序员-- C语言变量作用域与代码块
  9. ComboBox绑定Dictionary做为数据源
  10. ActiveMQ的配置与使用
  11. kafka原理和实践(一)原理:10分钟入门
  12. 剑指Offer_编程题之二维数组中的查找
  13. ZZCMS v8.2 前台Insert注入+任意文件删除
  14. SystemCheckError: System check identified some issues: ERRORS: users.Test.groups: (fields.E304) Reverse accessor for 'Test.groups' clashes with reverse accessor for 'User.groups'.
  15. [POJ2965]The Pilots Brothers' refrigerator (搜索/位运算)
  16. 在Arcmap中加载互联网地图资源的4种方法
  17. JavaSE| 面向对象-类的五大成员
  18. java 实现Word或Excel 转Pdf
  19. CF 932E Team Work
  20. Django后端彻底解决跨域问题

热门文章

  1. mysql与oracle常用函数及数据类型对比
  2. Bootstrap左侧下拉三级菜单
  3. Java2_J2EE体系架构
  4. jQuery实用小技巧-获取选中的的下拉框和返回头部滑动动画
  5. H5移动端页面设计心得分享
  6. 10本Java经典书目推荐
  7. C/C++构建系统 -工具汇总
  8. [Android]使用Kotlin+Anko开发Android(一)
  9. IOS客户端Coding项目记录导航
  10. 自定义Dialog宽度占满屏幕