查看: 5086|回复: 5

用devcpp编译OSG(原创,可以转发,请注明出处)

[复制链接]

该用户从未签到

发表于 2008-4-13 11:39:29 | 显示全部楼层 |阅读模式
VC6对于STL支持不好,VS2003太大(更不说VS2005、2008了)。MINGW下编译OSG可以对上述两者进行折衷,而且MINGW(我用DEVCPP)可以做成绿色的,很方便,也很小。
经过很长的一段时间的折腾,终于搞定,拿出来与有此想法但还在苦苦挣扎的人分享。

其实与VC编译OSG差不多,有一些要注意的地方而已。

首先下载安装devcpp,这个网上不难找到,我的版本是4.9.9.2(做成了绿色的了)
下载3rdParty_Win32binaries_2005_05_10.zip(而且要到http://www.osgchina.org/projects ... cn/Dependencies.php下载各个压缩包,并得到相应的dll文件,如freetype6.dll、jpeg62.dllzlib1.dll等)
下载cmake-2.4.7-win32-x86.zip
下载OpenSceneGraph-2.3.7.zip
下载pexports(http://www.emmestech.com/softwar ... nload_pexports.html
通过如下命令得到各个dll的相对应的.a文件(g++所用到的库文件格式)
             如:       
            pexports zlib1.dll > zlib1.def
        dlltool -k -d zlib1.def -l libzlib1.a
        (注意,文件名一定要是lib*.a)

解压3rdParty,将上面的dll文件及对应的.a文件copy到子目录lib下。

运行cmake进行配置(选MINGW),显示高级配置选项,各个LIBRARY选项后面修改为对应的 .a文件(原来是相应的.lib文件)。(最好选择编译Example,并且不编译MFC_Example)

配置好后,运行命令提示符,进入相应的目录下(就是配置的目标目录),键入命令make就可以了(然后是比较漫长的等待)。

我的对于2.0和2.2版本都正常通过,对于2.3.7只有最后viewGLUT没有通过,不影响啦。

祝大家好运。

(参见第2贴及第5贴补全如下:
对于glut32.dll对应的.a文件通过如下的方法生成:
将3rdParty中的glut32.lib通过如下命令生成相应的.a文件
reimp -d glut32.lib glut32.def
dlltool -k -d glut32.def -l libglut32.a
用生成的libglut32.a可以解决osgviewerGLUT.exe不能生成的问题。


同时将dll及相应的.a文件作为附件送上,省的大家麻烦了。

[ 本帖最后由 wontor 于 2008-4-13 16:00 编辑 ]

lib.rar

1.61 MB, 下载次数: 248, 下载积分: 威望 1

该用户从未签到

 楼主| 发表于 2008-4-13 11:46:56 | 显示全部楼层
忘了说了,得到相应的.a文件,还有一个办法,就是通过命令reimp(网上找找,能找到的)
通过仿照下面命令得到(从lib->.a)
1. reimp -d libmysql.lib
  // 這裡會生出一個檔案叫 libmysql.def
2. dlltool -k -d libmysql.def -l libmysql.a

我编译2.0,2.2的时候用到的.a就是通过上面方法生成的。

但是这个命令一会行,一会不行,没搞清楚到底是怎么回事,感觉还是用pexports好一点。
  • TA的每日心情
    开心
    2019-11-11 10:36
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2008-4-13 12:03:46 | 显示全部楼层
    支持啊,,,,,,,用MINGW的有福了,,

    该用户从未签到

    发表于 2008-4-13 13:19:08 | 显示全部楼层
    学习了~ :) :)

    该用户从未签到

     楼主| 发表于 2008-4-13 14:19:07 | 显示全部楼层
    那个osgviewerGLUT.exe不能生成的问题也搞定了,用reimp的方法生成.a文件(就是第2贴的方法),就可以了。

    该用户从未签到

    发表于 2008-4-15 20:03:14 | 显示全部楼层
    呵呵 学习一下^^
    若是楼主两个月前提出这个来 就好了啊
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

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

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

    联系我们

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