★第一步★

假设现在手头什么都没有,那么你至少要准备下面列举的这些东西.(OSG不在列举之列,但是最好要已经安装)

★Qt (qt-sdk-win-opensource-2009.01.1.exe)

下载链接:http://www.qtsoftware.com/products

★Delta3d的源代码(dt_src_REL-2.2.0.zip)和支持库(dt_dep_vs2008_2.2.0)

下载链接:http://sourceforge.net/project/showfiles.php?group_id=113203

★VS2008(微软免费提供Express版本下载.只不过不是完全下载安装包,是在线安装的)

下载链接:http://www.microsoft.com/express/ (或者自行下载安装包)

★Cmake2.6(官方网站下载或者自行下载)

下载链接:http://www.cmake.org/

注意:1.以上全部是对于VS2008而言.对于VS2005.应该只需要下载不同的支持库就好.

2.Delta3d的官方网站是www.delta3d.org,但是部分地区网络连接不上去.所以相关资料可以借鉴第三方网站http://sourceforge.net/projects/delta3d/

3.建议使用VS2005/VS2008.如果是VS2003的话,就要麻烦得多.Qt安装和Delta3d源代码都没有问题,问题在于支持库现在可以直接下载到VS2005/2008的生成版本.如果是VS2003要用的话,必须自己生成支持库.支持库包括CEGUI-0.6.1.zip HawkNL168src.zip OpenSceneGraph-2.6.1.zip boost_1_35_0.zip cal3d-0.11.0.tar.gz cppunit-1.12.0.tar.gz freealut-1.1.0-src.zip gdal152.zip gnelib-0_70.zip libpng-1.2.31.tar.gz ode-0.10.1.zip open-dis_2.5.tar.gz plib-1.8.5.tar.gz qt-win-opensource-src-4.4.3.zip xerces-c-src_2_8_0.zip .全部的支持库都必须分别编译,要保证所有的支持库编译都无错,最后集中起来也未必保证Delta3d可以正常使用支持库.所以想要使用VS2003编译Delta3d的还是放弃吧.

4.源代码和支持库都有Svn支持随时更新.

源代码Svn:https://delta3d.svn.sourceforge.net/svnroot/delta3d/trunk/delta3d

支持库Svn:https://delta3d-extras.svn.sourceforge.net/svnroot/delta3d-extras/ExtDep/dev/Windows/XP/VS2008/

严重注意:虽然官方提供了最新的Svn下载.但是并没有保证一定能够成功.所以对于新手而言,建议尽量在SourceForge选择打包好的源代码和支持库下载.这样可以保证稳定性和可靠性.

★第二步★

1.安装Qt

2.设置环境变量:QTDIR为安装文件夹,PATH增加%QTDIR%\bin

注意:安装文件夹并非指定Qt安装之后的文件夹,而应该是Qt目录下的qt文件夹(拥有Makefile文件的)

3.「开始」菜单\程序\Microsoft Visual C++ 2008 Express Edition\Visual Studio Tools下面有一个Visual Studio 2008 命令提示.使用这个命令行,设定当前目录为QTDIR,然后运行命令:

configure -platform win32-msvc2008

这个过程可能持续20分钟左右.

4.继续运行命令:

nmake sub-src

注意:该命令只编译Qt库.如果需要全部的Qt包,不需要sub-src.

这个过程可能持续2个小时左右.

5.上一条命令可能在中间会有很多的warning.不过不用管,马上运行:

nmake clean

这条命令主要是去处临时文件,可以节省空间.

★第三步★

1.解压Delta3d源代码在某文件夹X,解压支持库文件在X/EXT下.

2.打开Cmake,在第一行添入X文件夹,第二行添入X/build.

注意:此处新建一个Build文件夹把所有的编译生成文件放在里面,便于管理.

3.添加环境变量:

DELTA_ROOT = Delta3d安装目录

DELTA_INC = “%DELTA_ROOT%/inc; %DELTA_ROOT%/ext/inc”

DELTA_LIB = “%DELTA_ROOT%/lib; %DELTA_ROOT%/ext/lib”

DELTA_DATA = “%DELTA_ROOT%/data”

Add to PATH: “;%DELTA_ROOT%\bin;%DELTA_ROOT%\ext\bin”

4.Configure的时候需要确定平台,确认->再次确认Configure->Generate.

注意:

1.DELTA_LIB 也要添加x/build之下的lib目录.PATH下面也要增加x/build之下的bin目录

虽然没有明显提出.但是这一点无疑是有益的.

2.Generate的时候可能出现一些错误,比如下面这些:

Configuring done
CMake Warning (dev) at src/dtAnim/CMakeLists.txt:13 (ADD_LIBRARY):
Policy CMP0003 should be set before this line. Add code such as

if(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)

as early as possible but after the most recent call to
cmake_minimum_required or cmake_policy(VERSION). This warning appears
because target "dtAnim" links to some libraries for which the linker must
search:

glu32, opengl32, glu32, opengl32, Rpcrt4

and other libraries with known full path:

E:/delta3D/3d/build/lib/Debug/../dtUtild.lib

CMake is adding directories in the second list to the linker search path in
case they are needed to find libraries from the first list (for backwards
compatibility with CMake 2.4). Set policy CMP0003 to OLD or NEW to enable
or disable this behavior explicitly. Run "cmake --help-policy CMP0003" for
more information.
This warning is for project developers. Use -Wno-dev to suppress it.

Generating done

请自动无视.

★第四步★

使用VS2008打开delta3d安装目录X/BUILD下的DELTA3D.sln文件.分别编译Release/Debug.

★Demo★

1.创建新的工程

2.创建.h/.cpp文件,填好内容.

3.设置项目属性:

C/C++->Processor Definitions:WIN32,_debug
C/C++->Additional Include Directories: $(DELTA_INC);$(osg_root)\include
Linker-> Additional Library Directories:$(DELTA_LIB);$(osg_root)\lib
Linker->Input-> Additional Dependencies:dtCored.lib dtUtild.lib dtABCd.lib dtGamed.lib dtDALd.lib dtActorsd.lib osgd.lib osgDBd.lib

4.运行程序.
注意:

1.OSG_ROOT指的是OSG的安装目录.我也经过实验.如果不安装,不添加这个路径,实例程序可以运行的.

2.如果在Vs2008打开之后才开始设置一些环境变量.设置完成之后需要重启Vs2008才能生效.

3.如果碰到下列错误:

应用程序正常初始化(0xc0000005)失败

那说明是软件有冲突.本人就是碰到这样的情况.解决方法就是把系统变量Path里面去掉OSG的DATA目录.(此目录在安装OSG的时候是必要添加的)

4.如果编译通过,运行的时候碰到弹出框,类似某某lib无法找到.说明是路径没有设置正确.要保证系统变量设置的正确以及项目属性的填写正确.根据lib的名称可以找到相应路径,然后反推一下应该设置的目录.

5.如果碰到某某h文件无法找到或者不能include进来某某文件.也是项目属性设置的问题.


类别:游戏 查看评论
posted on 2009-12-31 23:02  М80メ  阅读(1611)  评论(1编辑  收藏  举报