查看: 3248|回复: 19

有没有用MinGW编译OSG的?

[复制链接]

该用户从未签到

发表于 2008-12-25 21:00:19 | 显示全部楼层 |阅读模式
刚用 MinGW 把 GDAL 1.6.0 搞定了,可用 MinGW 编译 OSG 2.7.8 时又出问题了!不知道有没有人用 MinGW 编译过,能不能介绍一下经验啊?在我的机子里编译到 osgDB 中的 Archive.cpp 时出错!

该用户从未签到

发表于 2008-12-25 22:16:48 | 显示全部楼层
比较新的SVN版本和开发者版本可能会有这种跨平台代码编写不当的问题,能大概说一下您遇到的是什么错误吗?

该用户从未签到

 楼主| 发表于 2008-12-26 11:24:57 | 显示全部楼层
用官方的 mingw 5.1.4,在链接 libosg.dll时提示:
……\ld.exe: cannot find -lpthread
collect2: ld returned 1 exit status
……

用 TDM 的 mingw-1.812.0-f1,可以生成 libosg.dll ,可在编译 osgDB 时又提示:
……\src\osgDB\Archive.cpp:51:  internal compiler error: in maybe_emit_vtables, at cp/dec l2.c:1745

该用户从未签到

发表于 2008-12-26 12:17:50 | 显示全部楼层
我印象中用官方的mingw应该是没问题的,关键是CMake生成的Makefile正确就可以了。-lpthread是Linux下的线程库,不知道为什么会出现在您的Makefile里。您可以尝试升级CMake到2.6版本再试一试

该用户从未签到

 楼主| 发表于 2008-12-26 16:23:18 | 显示全部楼层
我的cmake版本是2.6.1,我试了用TDM的mingw编译osg 2.7.8 和 2.6.1,出的错是一样的。

发现自己犯了个低级错误:第三方库用的是osg发布的vc9的库!osg好像没有发布用mingw编译的第三方库。看来要自己从头开始编译了。

该用户从未签到

发表于 2008-12-26 16:46:36 | 显示全部楼层
osg和osgDB本身应该不需要任何的第三方库,您再试一下,我可能抽空也看一看。

该用户从未签到

 楼主| 发表于 2008-12-27 21:23:00 | 显示全部楼层
好像在Windows下用MinGW做开发的不多啊?Windows下还是VC的编译器最好用,不知道在Windows下用MinGW编译OSG有没有意义,如果没这个必要我也就不折腾了。

该用户从未签到

发表于 2008-12-27 21:26:43 | 显示全部楼层
minGW可以省去您的一大笔商业开发费用,VS好像不是免费的,呵呵。

该用户从未签到

 楼主| 发表于 2008-12-28 16:30:18 | 显示全部楼层
VS的Express版本不也是免费的吗?
而且现在我身边的人几乎没有用MinGW的,MinGW是个什么东西他们听都没听过,一律都是在Windows下使用VC、VB,连用JAVA的都很少。所以我不可能放弃用VC开发,虽然不想用盗版,可又没办法。想看看Windows和VC外面的世界,可又担心将来会不会用到,唉,困惑中……

该用户从未签到

发表于 2008-12-28 16:42:39 | 显示全部楼层
呃,老实说我不是很清楚VS Express能否用于商业目的使用(例如Qt的免费版本就是禁止用于商业用途的)。不过VC对C++标准的支持一直不尽如人意,这一点一直是很让人不爽的,而且过分舒适的IDE环境也造就了一大批懒虫程序员

如果楼主觉得程序开发不仅是一种工作技能,而且还是一种乐趣的话,那么尽早跨出VC的圈子(当然不是放弃使用VS,它始终是最出色的开发环境之一),尝试一下更多新鲜的玩意儿吧,要学习的东西太多了,可大开眼界的东西太多了~~

该用户从未签到

发表于 2008-12-28 17:04:18 | 显示全部楼层
我刚刚用CodeBlocks自带的mingw32编译了OSG的SVN版本,没有问题。mingw32-g++的版本是3.4.5,CMake的选项没有作任何设置(因此有不少第三方插件没有编译),楼主不妨再尝试一下?

该用户从未签到

 楼主| 发表于 2008-12-28 20:44:20 | 显示全部楼层
MinGW的中文资料好像不多,现在的g++不都到4.3.2了吗?据说g++ 4有很大的改进,可感觉好像大家都还是使用3.4.5,我也是刚刚开始看这个东东,不知道用哪个版本好一些。看来初学的时候还是先老老实实地用稳定版本比较好,不能一味求新。
用MinGW现在就是CodeBlocks比较好用吗?我单位的机器只有256M内存,用CMake生成CodeBlocks的工程后,半天都打不开!只好在Cmake中先设置不包含example。
版主有没有MinGW的资料?能不能介绍一下经验,怎样学习使用MinGW比较容易上手?

该用户从未签到

 楼主| 发表于 2008-12-28 20:47:26 | 显示全部楼层
还想同时开始学习Linux,上网查了查资料,看到现在有很多Linux系统可以用,对于不同的系统各有褒贬,我猜版主一定用过Linux系统,能不能给点建议,从哪个Linux系统开始学比较好?我现在先下了三个Linux系统:Ubuntu/Kubuntu 8.10、Federo 10、openSUSE 11.1。
还有OSG在Linux下的应用多不多啊?有没有前景?
新手的问题很多,也自知有些问题比较低级,可我身边实在没人研究这些东东,所以还请版主和有经验的前辈不吝赐教,谢谢!

[ 本帖最后由 x_wp 于 2008-12-28 21:03 编辑 ]

该用户从未签到

发表于 2008-12-28 20:49:39 | 显示全部楼层
mingw本身好像也没啥可学习的,可以看作是GNU/GCC在Windows下的实现,会用Linux GCC的就会使用MinGW GCC了。我编译minGW版本通常只是为了测试一下兼容性,所以也不是很清楚哪个版本比较适合商业开发。至于CodeBlocks,唉,我曾经一度比较推崇,可是感觉毛病和不方便的地方还是蛮多的,目前比较人性化的IDE还是以VS为首选,不过信不信由你,我的osgNV工程是完全在UltraEdit下编写完成的~~

该用户从未签到

 楼主| 发表于 2008-12-28 21:10:30 | 显示全部楼层
是啊,我也是在一年多以前看到CodeBlocks的,当时很是期待其正式版本,可是真正到要学着使用它的时候吧,却是又爱又恨。感觉好像CodeBlocks的开发人手不够,发展比较缓慢,可惜自己没那个能力,不然也可以为这个东东做点贡献。

该用户从未签到

发表于 2008-12-28 21:15:42 | 显示全部楼层
OSG在Linux上的应用是十分重要的,像Robert Osfield(OSG的Develop Leader)等重量级的专家都是在Linux下进行开发的。国外的很多开发者都会选择GNU/Linux作为自己的首选开发环境。

我个人一直在使用Arch Linux,主要是它很容易精简到最小,我不使用Linux上网或者办公,只要有一个最简单的X11环境就可以了;还有一个重要原因是我的一些外包项目要求定制Linux系统,用Arch来做比较快捷,也不像LFS那么恐怖。

楼主初学的话,Ubuntu的评价好像还是不错的,比较人性化;另外两个好像也做得十分贴心。不过太人性化的东西一向对开发习惯的培养没什么助益,个人感觉。习惯Linux环境之后,建议换而使用Gentoo或者Arch等“折腾人”的系统~~

该用户从未签到

发表于 2008-12-28 21:23:29 | 显示全部楼层
原帖由 x_wp 于 2008-12-28 21:10 发表
是啊,我也是在一年多以前看到CodeBlocks的,当时很是期待其正式版本,可是真正到要学着使用它的时候吧,却是又爱又恨。感觉好像CodeBlocks的开发人手不够,发展比较缓慢,可惜自己没那个能力,不然也可以为这个东东 ...


有没有能力 请一定在尝试过之后再说,不要经常给自己一些“我是菜鸟”,“我没那个能力”的暗示;也尽量不要说“等几年之后在参与”这样的话,因为在这几年里别人和您一起也会迅速地提高,已有的距离很难缩短。
想要拉近和国外先行者们的差距,就非得强迫自己和他们做一些同等层次的事情不可~~这是我的个人意见,我主动接手osgNV这个工程,以及正在与一位法国工程师策划osgPhysics的开发,某种意义上也是为了追上国外同行的技术水平吧,呵呵,楼主以及有兴趣的朋友不妨与我同行。

该用户从未签到

 楼主| 发表于 2008-12-29 06:58:42 | 显示全部楼层
感谢array的回复,使我对osg又充满了信心。说实话,我在两三年前就开始接触osg了,记得那时的版本还是0.9x,可我的同事们只知道openGL和vega,没人交流也没有项目,我也是在业余凭兴趣学习,对osg的研究一度停滞。两三年过去了,惭愧的是我还停留在osg基本库的编译阶段,版主的一番话让我重新燃起了希望!不论如何我都不会放弃osg。

该用户从未签到

发表于 2012-1-30 18:38:58 | 显示全部楼层
看完有感

该用户从未签到

发表于 2012-1-30 21:41:24 | 显示全部楼层
看了你们的对话颇有些收获,我现在也是在用MingW编译,g++是4.4.0的,环境是Eclipse,OSG3.0.0编译成功,Qt界面开发,基本上还可以,没有啥问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表