- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Eclipse+Cygwin+gcc 构建Windows 下类Unix 开发平台
/thread-1265089-1-1.html
这两天突发奇想,Eclipse 的CDT 能够构建C 开发平台,Cygwin 可以模拟 Unix 环境,为什么不结合使用,
构建一个在Windows 下开发Unix 程序的IDE 平台呢?
说干就干,立刻上网查了一些资料,确实已经有很多人已经有过一些研究。感谢前人的栽树,让我有好大
的阴凉,哈哈。不过在实践过程中,还是发现有一些需要注意的地方,为防止大家也走这些弯路,我把自
己的一些经验总结一下,以飨大家。
首先,下载Cygwin 环境,可以在 下载最新的版本,不过网上好像都是提供的网络
安装版。下载之后,执行安装,注意到选择安装部件的时候,选择开发包的安装,如下图所示:
装完之后,设置一下环境变量,把Cygwin 的bin 目录加到Path 环境变量中。至此,Cygwin 已经安装完毕。
然后,安装CDT 插件,可以直接在Eclipse 网站上下载单独的Eclipse CDT 套装,也可以直接下载CDT 插件
安装到原有的 Eclipse 目录下,需要注意的是CDT 版本和 Eclipse 版本必须对应,否则加载插件不成功(没
试过,或许也有兼容性,不过Eclipse 网站上提示需要版本对应)。
CDT 插件安装完之后,能够在Eclipse 的Preferences 上看到C/C++ 的配置,这表明,安装插件成功。
现在,已经可以在Eclipse 里面开发C/C++项目了,神奇吧。
下面讲几个有用的经验。
1、
自己编写makefile 文件
CDT 把很多操作都搞得比较自动化,默认情况下,它会自动生成两个目标目录,Debug 和Release,在这两
个目录下,都会生成相应的makefile 文件。比较恼火的是,你没有办法改它,修改完之后,又会恢复成原
来的内容。
实际上,只需要把下面这个 Generate Makefile automatically 的 check 打勾去掉,我们就可以自由的修改
makefile 了。
2、
如何在makefile 中加载动态库
很多实际的工作不可能像Hello World 这么简单,有很多工程我们都需要加载一些其他的库文件,比如操作
Oracle 数据库,我们需要链接oci 库,在unix 上,我们用-lclntsh,VC 工程中用oci.dll,那么Cygwin 中怎么
使用呢?
这时候,就需要一个工具pexports,用它来做一些辅助操作,使得Windows 下的Dll 能够为Cygwin 的Gcc
使用。
Pexports 下载地址/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、
如何进行调试
调试实际上非常简单,直接用eclipse 的Debug As,选择Local C/C++ Application 。但是,可能会提示找不到
代码。这时候,你只需要做一件事情,目录映射。
在Prefrences 窗口中找到C/C++ 的Debug 配置,有一个Common Source Lookup Path
增加一个类型为Path Mapping 的设置,
可以参考Cygwin 的mount 目录设置目录映射。
现在,你应该能够在调试中跟踪到代码里了。
不过有点奇怪的是,单步跟踪Step Over 有点问题,它总是Step Into,不知道有没有人知道怎么回事。
Eclipse+Cygwin+GCC+Boost 使用Asio 的环境配置
Eclipse+Cygwin+GCC+Boost 使用Asio 的环境配置
作者:smartvessel@
例子取自Boost 的文档
#include boost/asio.hpp
#include boost/date_time/posix_time/posix_time.hpp
using namespace std;
using namespace boost;
int main () {
boost::asio::io_service io;
boost::asio::dead
文档评论(0)