免费注册 查看新帖 |

Chinaunix

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

mingw 从.dll导出.lib的命令 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-18 16:53 |只看该作者 |倒序浏览

pexports bin/libpng12-0.dll >lib/libpng.def &&
lib -machine:X86 -def:lib/libpng.def -name:libpng12-0.dll -out:lib/libpng.lib &&



http://primates.ximian.com/~wberrier/windows-installer/pexports/

有篇类似的文章
Eclipse+Cygwin+gcc构建Windows下类Unix开发平台

这两天突发奇想,Eclipse的CDT能够构建C开发平台,Cygwin可以模拟Unix环境,为什么不结合使用,构建一个在Windows下开发Unix程序的IDE平台呢?
说干就干,立刻上网查了一些资料,确实已经有很多人已经有过一些研究。感谢前人的栽树,让我有好大的阴凉,哈哈。不过在实践过程中,还是发现有一些需要注意的地方,为防止大家也走这些弯路,我把自己的一些经验总结一下,以飨大家。
首先,下载Cygwin环境,可以在
http://www.cygwin.com
下载最新的版本,不过网上好像都是提供的网络安装版。下载之后,执行安装,注意到选择安装部件的时候,选择开发包的安装,如下图所示:
装完之后,设置一下环境变量,把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下载地址
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、
如何进行调试
调试实际上非常简单,直接用eclipse的Debug As,选择Local C/C++ Application。但是,可能会提示找不到代码。这时候,你只需要做一件事情,目录映射。
在Prefrences窗口中找到C/C++的Debug配置,有一个Common Source Lookup Path
增加一个类型为Path Mapping的设置,
可以参考Cygwin的mount目录设置目录映射。
现在,你应该能够在调试中跟踪到代码里了。
不过有点奇怪的是,单步跟踪Step Over有点问题,它总是Step Into,不知道有没有人知道怎么回事。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/93793/showart_1867457.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP