冒险解谜游戏中文网 ChinaAVG
标题:
【原创】scummvm-0.13.0编译教学
[打印本页]
作者:
shane007
时间:
2009-4-25 22:38
标题:
【原创】scummvm-0.13.0编译教学
为了研究scummvm的汉化可能性,首先要把scummvm编译通过,并在此基础上进行一些修改。
P8 v" m* x0 n1 |: x# b
; C4 e0 a3 i+ Z; P
-------------------------
/ W5 \2 b$ { o+ n# y/ B
准备工作
K6 T* m& G) _$ H1 o$ ]
-------------------------
+ F1 S' c* Q. }$ k0 e% H2 a) A
首先到scummvm的网站上下载源代码
9 z, ^6 z; Q# D9 {* C. ]/ l
http://www.scummvm.org/downloads.php#source
+ D4 ?0 O: N5 v1 t8 a3 `6 B
源代码约有10M大小
5 m, W( A, c( J0 a' N7 O7 O& P* m
http://prdownloads.sourceforge.n ... 0.13.0.zip?download
/ Y+ e- G/ ^; h$ \( d0 d U* f% R
下载后解开到一个目录里,可以先看一下README.
! z' m) X8 }$ o) e
里面有很多关于编译的信息,此外以下网站也有关于用VisualStudio编译的信息
2 a; ?8 L* j3 A* b4 D8 V; V- I
http://wiki.scummvm.org/index.php/Compiling_ScummVM/VS2005
2 ~) T8 q% |% z
/ I* Z& l& P, S: r
-------------------------
# Y9 g, j( b- A8 {
预编译库文件
0 \( c3 |+ T6 w# o: f, p4 l9 o; z$ `
-------------------------
8 z2 t! [9 u- q! K- W: y0 x; Y$ p+ Q
好,接下去我们逐个说明需要预编译的库文件。编译工具采用的是VS2003中的VC++.
0 w' {. P: {9 G$ j* n
- L# f) V, j: l5 r& f J) K6 b
0.设置include,lib目录
. b( I9 R# J+ J b
在scummvm-0.13.0下建立一个include和一个lib目录
# {' K8 g4 c8 k7 N4 p
* m( j+ Y. r5 |3 y* N
在项目管理器的scummvm中点右键,在C/C++-->General-->Additional Include Directories里追加一个../../include,VC就会在scummvm-0.13.0\include中寻找需要的头文件。
) f5 g5 \3 d% v8 N: }& {
在项目管理器的scummvm中点右键,在Linker-->General-->Additional library Directories里追加一个../../lib,VC就会在scummvm-0.13.0\lib中寻找需要的库文件。
P+ x6 ^. C! [8 C; z) L+ N9 Q
( m7 C6 _9 H5 i/ G3 H4 @3 {
注意,以上的设置debug模式和release模式是分开的,所以如果要使用这2个模式编译的话,要各设置一遍。
# m' P, L" x3 g' F. Q M
) p' C; y3 i6 B8 K. C
1.NASM
( |+ p' t8 _, V3 j, h
从
http://www.nasm.us/
下载一个最新版的就行,如果可执行文件名是nasmw.exe,需要把它改名为nasm.exe。并把它拷贝到vs能找到的可执行文件目录下,比如\WINDOWS\system32。
! Y$ V; c+ v. u% Z5 T+ F( z' U
vs能找到的可执行文件目录可以用以下步骤设置:
, o, |* u, F e+ f* w9 j; S' C
菜单Tools-->Options-->Projects-->VC++Directories-->Executable files
! Z0 M/ p1 b% F
" q8 b& y2 S0 S, K
2.libmpeg2
* g% }5 |# ^5 a7 S( q h
如果需要游戏支持MPEG2的话,就必须加入这个库。
$ E$ |( k- h" e
在以下网站可以下载到libmpeg2的最新版,目前的最新版是libmpeg2-0.5.1。
% ^# x* ^+ o1 m) T% {1 h
http://libmpeg2.sourceforge.net/downloads.html
! s( E g% i4 _
我用的是mpeg2dec-0.4.1,更新版本的用VS2003无法载入,故使用这个略旧的版本。
# h! i$ k" J0 r g9 ^5 o
建scummvm-0.13.0\include\mpeg2dec目录,把mpeg2dec-0.4.1\include的内容都拷贝到里面。
3 e9 I" V/ w8 m# r; B
/ T0 N3 z. X! j# W$ O$ e5 U
3.SDL
& u. k4 I) |- N' x
这个库是必不可少的。下载地址如下:
5 D; A8 G' \, }& `" U
http://www.libsdl.org/download-1.2.php
( Y- \ W7 p4 o. F x% u, x
http://www.libsdl.org/release/SDL-1.2.13.zip
/ w( Z5 T- t5 h6 z& ]$ n
目前的最新版本是SDL-1.2.13,解压缩以后,把SDL-1.2.13\include的全部头文件都拷贝到
. j& _) R+ w1 \3 v" `+ {& I
scummvm-0.13.0\include即可。
- t. n h" ^9 c1 }3 `
8 ~% |$ q, O. R& \$ c8 p: ^+ ?
4.ZLIB
; f9 F) A; G/ ?( n
很多游戏是压缩的,所以要用到ZLIB库。
0 Y5 j7 S ]- c' ?7 |4 l k7 o5 [
下载地址如下:
4 y! ]/ y, [- G/ y6 n J. p
http://www.zlib.net/
x3 Z8 k C0 ^3 d4 i1 f5 `) S$ G9 C
http://www.zlib.net/zlib123.zip
( b- \( U+ o9 u5 H( B, G
解压缩以后,把zlib123目录下的zlib.h,zconf.h拷贝到scummvm-0.13.0\include即可。
, @" u0 Q+ T) Y: S/ [6 f% F. }
* a' w. ]# L6 }; C/ T7 h+ p
5.LIBOGG
# s8 N* a. |2 J% T, m; P2 X+ h
下载地址如下:
]8 o* e' [' y1 q' O
http://www.xiph.org/downloads/
* v$ L8 A* j2 ] M0 D# c
http://downloads.xiph.org/releases/ogg/libogg-1.1.3.zip
& ?" N! n4 t, y, n [
解压缩以后,把libogg-1.1.3\include目录下的ogg目录连目录拷贝到scummvm-0.13.0\include即可。
# I2 ~) A, X9 E" Q ?
3 O. c3 k/ n7 ^+ N
6.Libmad
6 I- j8 X& _- H8 ?# Z! v, a
下载地址如下:
8 Z3 |0 Q: a+ p7 l& o
http://www.underbit.com/products/mad/
( L1 @# q b+ d1 j
http://sourceforge.net/project/showfiles.php?group_id=12349
6 Y6 f0 y/ D4 o5 O" S/ b" y$ Z8 W
http://sourceforge.net/project/downloading.php?group_id=12349&filename=libmad-0.15.1b.tar.gz
- B" ]3 C+ U0 x! }: Q
解压缩以后,把\libmad-0.15.1b目录下的mad.h拷贝到scummvm-0.13.0\include即可。
) B4 m/ x! ` i: h) e
; k$ S" S5 x: ^4 x/ z1 G- \- ]# @& c; o5 {
7.
libvorbis
J, i' x& g( D3 w
下载地址如下:
$ m- e5 V3 ?1 H% e4 t6 e
http://www.xiph.org/downloads/
; c& J; s; h9 a% Z& b+ i( u
http://downloads.xiph.org/releases/vorbis/libvorbis-1.2.0.zip
7 |' T& S& ]9 o# x: t" c
解压缩以后,把libvorbis-1.2.0\include目录下的libvorbis目录连目录拷贝到scummvm-0.13.0\include即可。
# `2 ?8 h0 n" b
* D3 t, L- |- T8 }* Q/ l& \
注意:
: Q! k, H+ z$ c: @
在链接时如果出现error LNK2005错误,在项目浏览器的scummvm上点右键,
( [ |: _% A! {7 z4 N
把general-->Use of MFC 设置为 Use MFC in a Shared DLL即可。
3 Q8 q Z, @% [! a/ c- n
2 Q8 }% w, I/ W& ?
debug版可以编译成功,release版出错。解决方法可以参照如下帖子
, k! A6 a1 n. u- o5 Z
http://forum.scummvm.org/viewtopic.php?p=38579&sid=5fd65fe4d50d17ec99f80e7378e23c06
, g r$ x& c) c; X
7 e6 @9 Y( n7 X* b; `3 [
最后放上编译好的头文件和静态库文件。
" F1 u& q7 r* Q) g0 l4 }' d! u
" |6 ^/ @! _, _
--------------------------------------------------
5 [( ]8 K5 d4 W
2009.10.31 更新
, T2 U4 Q) u" S' b5 J! `+ {: O
放上预编译好的Flac模块,现在所有的音效播放模块都齐了。
作者:
shane007
时间:
2009-10-31 22:22
2009.10.31 更新
欢迎光临 冒险解谜游戏中文网 ChinaAVG (https://chinaavg.com/)
Powered by Discuz! X3.2