|
本帖最后由 woshishui 于 2013-8-23 23:13 编辑
想了半天也不知道怎么取标题。国内用linux进行osg开发的朋友较少,恐怕是因为前三脚难踢的缘故。我把自己的学习历程一点一点发上来,也算是一个记录,或许对别人有些帮助。顺便打个广告,对在Android上开发osg应用感兴趣的同学,可以联系我,一起学习。
我的开发环境已从64bit ubuntu12.10移至fedora17。。
1. 开发环境
工作开始前,要确认自己的显卡驱动是否正常工作。我的显卡是ATI显卡,执行 glxinfo即可查看,如果你看到的是BAD REQUEST之类的错误或无意义的字符,那很不幸,显卡驱动没正常安装。提醒各位同学,X11能工作并不意味着你的显卡驱动正常 工作了。
关于OSG的安装:我当然是强烈推荐你自己本地编译了。奇怪的是官网仍在用SVN作配置管理,至于什么时候会迁移到git,且等着看了。github 上有git仓库,从更新频度来看,是与官方svn仓库桥接的,自动更新。git克隆:git clone http://github.com/openscenegraph/osg.git
ubuntu
在ubuntu12.10上,我先按照 android 官方的建议 http://source.android.com/source/initializing.html 安装了开发 包。之后又安装 了如下开发包:
sudo apt-get install libzthread-2.3-2 libxml2-dev libcurl4-nss-dev libqt4-dev libopenal-dev libsdl1.2-dev libjpeg-dev libtiff5-dev libpoppler-glib-dev librsvg2-dev libgtk2.0-dev libgtkglextmm-x11-1.2-dev doxygen graphviz
fedora
在fedora17上
su
yum install git-core gnupg.x86_64 flex bison gperf curl zlib.x86_64 ncurses-devel.i686 readline-devel.i686 mesa-libGL-devel.x86_64 dos2unix.x86_64 python-markdown.noarch libxml2.x86_64 libxslt.x86_64 perl-Switch libzip-devel.i686 libstdc++.i686 mingw32-* mingw32-gcc.x86_64 mingw32-gcc-c++.x86_64 注意这几个标红的库,它们是用来编译win SDK的,但要修改makefile,android默认使用ubuntu开发。总之很鸡肋。
yum groupinstall "Development Tools"
yum install lbzip2.x86_64 libxml2-devel.x86_64 libcurl-devel.x86_64 qt-devel.x86_64 openal-soft-devel.x86_64 SDL-devel.x86_64 libjpeg-turbo-devel.x86_64 libtiff-devel.x86_64 poppler-glib-devel.x86_64 librsvg2-devel.x86_64 gtk2-devel.x86_64 gtkglextmm-devel.x86_64 graphviz.x86_64 gnuplot.x86_64 wget
2. 安装osg
下载代码后,在代码目录下执行linux上开源软件的标准三步操作即可:1 ./configure 2 make 3 sudo make install.
我建议你执行完第一步configure操作后,仔细看一看输出信息,并逐个修复安装那些缺少的插件,但这个不必须,可以往后放一放。软件开发里实践是重中之重,当前最重要的是搞出第一个hello world。
3. hello world
附件算是我的第一个hello world,抄自《OpenSceneGraph Quick Start Guide 》。如果你用32bit系统,下载后可能需要修改Makefile中的-L/usr/local/lib64 为-L/usr/local/lib, 不过手头没有32bit系统,不太确定了:(
如果附件中的代码在你机器上编译通过了,在代码目录下运行./my-exec 应该能生成Simple.osg。
quick_start.tar
(10 KB, 下载次数: 49)
|
|