免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 21585 | 回复: 7
打印 上一主题 下一主题

Eclipse+Cygwin+gcc构建Windows下类Unix开发平台 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-10 11:55 |只看该作者 |倒序浏览
Eclipse+Cygwin+gcc构建Windows下类Unix开发平台
这两天突发奇想,EclipseCDT能够构建C开发平台,Cygwin可以模拟Unix环境,为什么不结合使用,构建一个在Windows下开发Unix程序的IDE平台呢?
说干就干,立刻上网查了一些资料,确实已经有很多人已经有过一些研究。感谢前人的栽树,让我有好大的阴凉,哈哈。不过在实践过程中,还是发现有一些需要注意的地方,为防止大家也走这些弯路,我把自己的一些经验总结一下,以飨大家。
首先,下载Cygwin环境,可以在http://www.cygwin.com下载最新的版本,不过网上好像都是提供的网络安装版。下载之后,执行安装,注意到选择安装部件的时候,选择开发包的安装,如下图所示:

装完之后,设置一下环境变量,把Cygwinbin目录加到Path环境变量中。至此,Cygwin已经安装完毕。
然后,安装CDT插件,可以直接在Eclipse网站上下载单独的Eclipse CDT套装,也可以直接下载CDT插件安装到原有的Eclipse目录下,需要注意的是CDT版本和Eclipse版本必须对应,否则加载插件不成功(没试过,或许也有兼容性,不过Eclipse网站上提示需要版本对应)。
CDT插件安装完之后,能够在EclipsePreferences上看到C/C++的配置,这表明,安装插件成功。

现在,已经可以在Eclipse里面开发C/C++项目了,神奇吧。
下面讲几个有用的经验。
1、
自己编写makefile文件
CDT把很多操作都搞得比较自动化,默认情况下,它会自动生成两个目标目录,DebugRelease,在这两个目录下,都会生成相应的makefile文件。比较恼火的是,你没有办法改它,修改完之后,又会恢复成原来的内容。
实际上,只需要把下面这个Generate Makefile automatically check打勾去掉,我们就可以自由的修改makefile了。

2、
如何在makefile中加载动态库
很多实际的工作不可能像Hello World这么简单,有很多工程我们都需要加载一些其他的库文件,比如操作Oracle数据库,我们需要链接oci库,在unix上,我们用-lclntshVC工程中用oci.dll,那么Cygwin中怎么使用呢?
这时候,就需要一个工具pexports,用它来做一些辅助操作,使得Windows下的Dll能够为CygwinGcc使用。
Pexports下载地址http://www.emmestech.com/software/cygwin/pexports-0.43/moron1.html
使用下面方法处理dll文件
$ pexports.exe filename.dll > filename.def
$ dlltool.exe --dllname filename.dll --def filename.def --output-lib libfilename.a

3、
如何进行调试
调试实际上非常简单,直接用eclipseDebug As,选择Local C/C++ Application。但是,可能会提示找不到代码。这时候,你只需要做一件事情,目录映射。
Prefrences窗口中找到C/C++Debug配置,有一个Common Source Lookup Path

增加一个类型为Path Mapping的设置,

可以参考Cygwinmount目录设置目录映射。
现在,你应该能够在调试中跟踪到代码里了。
不过有点奇怪的是,单步跟踪Step Over有点问题,它总是Step Into,不知道有没有人知道怎么回事。

论坛徽章:
0
2 [报告]
发表于 2008-09-10 11:56 |只看该作者

怎么看不到图片

不知道怎么操作,大家先凑合看吧,有什么问题发帖告知

论坛徽章:
0
3 [报告]
发表于 2008-09-10 12:49 |只看该作者
原帖由 scomaster 于 2008-9-10 11:55 发表
Eclipse+Cygwin+gcc构建Windows下类Unix开发平台 这两天突发奇想,Eclipse的CDT能够构建C开发平台,Cygwin可以模拟Unix环境,为什么不结合使用,构建一个在Windows下开发Unix程序的IDE平台呢?
说干就干,立刻 ...



安装CDT插件,可以直接在Eclipse网站上下载单独的Eclipse CDT套装,也可以直接下载CDT插件安装到原有的Eclipse目录下,需要注意的是CDT版本和Eclipse版本必须对应,否则加载插件不成功

你说的CDT插件安装到原有的Eclipse目录下,是直接解压到eclipse安装目录下吗?
我的eclipse版本是3.3,对应下的4.0的CDT,是兼容的啊
不过还是没起作用

论坛徽章:
0
4 [报告]
发表于 2008-09-10 12:58 |只看该作者
好文章

论坛徽章:
0
5 [报告]
发表于 2008-09-10 13:48 |只看该作者
支持原创啊!

论坛徽章:
0
6 [报告]
发表于 2008-09-10 13:50 |只看该作者
好东西。

论坛徽章:
0
7 [报告]
发表于 2011-11-01 22:03 |只看该作者
太简单了,就这么说说就完了?
怎么也得整个step by step的操作吧,毕竟实际的情况要比这个复杂。
我现在就是东西都装好了,但是总是编译找不到头文件。
咋办?

论坛徽章:
2
技术图书徽章
日期:2013-09-04 15:21:51酉鸡
日期:2013-11-01 21:20:20
8 [报告]
发表于 2011-11-02 08:41 |只看该作者
eclipse太庞大。如果是简单开发,还不如dev-c++呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP