仙剑源码
① 求仙剑奇侠传5的代码
你要的是什么代码?单机的仙剑5的物品代码么?还是那个代码?内部修改代码是需要买的,只能去官方买别人是没有的,物品代码我到时有,但是不是很全。希望有用。
01 止血草
02 通络丹
03 金疮药
04 景陀回息丸
05 血鹿茸
06 凝冰华晶
07 百花蜜茶
08 千年参王
09 凌雪钟乳
0A 九叶七花
0B 反命愈雾
0C 天仙玉露
0D 幽檀凝心香
0E 紫藤丹
0F 雪莲玉液
10 甘松子
11 天香绿萼
12 百草霜
13 五色石苔
14 烤鸭
15 七叶灵芝
16 九叶灵芝
17 蜜仁羹
18 化毒草
19 醒神针
1A 络石藤
1B 驱邪散
1C 慑神叶
1D 清魄水
1E 复言叶
1F 蕴熔碳
20 吉祥叶
21 白领香
22 龙须草
23 招魂幡
24 九转金丹
25 天香续命露
26 烤鸭
32 铜刚果
33 三叶草
34 赤兔筋
35 蟠桃
36 异兽之胆
46 隐蛊
47 仙藏酒
48 野树籽
49 多目絮
4a 幻偶雾
64 铜钱镖
65 剑齿轮
66 紫金梭
67 赤炎弹
68 霹雳刺
69 水莲环
6A 链泽(那个字不会拼……)岩
6B 舞刃叶
6C 锁魂钉
6D 桃木飞剑
6E 花雨金针
6F 五行凝玄岩
70 混沌烟
71 血魔凝锋
72 六道狱令
73 神鬼万劫轮
74 妄念弑心咒
75 余香果
76 五毒烟
77 入梦香
78 寒冰玉
79 蚀筋花
7a 流雳尘
7b 恶鬼冥晶
7c 星碎夺魄
7d 石头
7e 血凝冰晶
7f 岚之灵羽
80 盾甲砺岩
81 烈炽炎引
82 镇霆逆鳞
83 水灵珠
84 风灵珠
85 土灵珠
86 火灵珠
87 雷灵珠
88 血凝冰晶
01 02 落雷咒
02 02 无极电芒
03 02 雷舞阵
04 02 霹雳劫
05 02 紫电怒雷催
06 02 雷屏
07 02 土崛
08 02 狂沙突涌
09 02 蛟岩戮
0a 02 五岳移峰诀
0b 02 岩罡咒
0c 02 土屏
0d 02 风刃
0e 02 气旋碎空
0f 02 叶风舞
10 02 岚卷苍穹
11 02 御风诀
12 02 风屏
13 02 缚神印
14 02 无梦眠
15 02 毒蛊咒
16 02 天妖索魂
17 02 嗜血咒
18 02 魔灵度生
19 02 气疗术
1a 02 五气真言
1b 02 聚息返魂
1c 02 神氛阵
1d 02 圣息愈创
1e 02 五灵净邪
f5 01 炎灼
f6 01 万物归烬
f7 01 炽星陨
f8 01 凰焰焚世
f9 01 炎神魂
fa 01 火屏
fb 01 寒泉术
fc 01 凝华冰莲
fd 01 天雹破空
fe 01 裂川凝雪
ff 01 寒镜咒界
② 怎么源码安装 PKGCONFIGPATH设置转
怎么源码安装 PKG_CONFIG_PATH设置
如何从源码包安装软件?
从源码包安装软件最重要的就是仔细阅读README INSTALL等说明文件
它会告诉你怎样才能成功安装
通常从源码包安装软件的步骤是:
tar jxvf gtk+-2.4.13.tar.bz2 解开源码包
cd gtk+-2.4.13/ 进入源码目录
./configure 似乎在某些环境下./configure会造成终端退出
而使用. configure则会正常运行,如果有这个现象,就试试 . configure
通过configure程序猜测主机信息,最终建立Makefile,以完成make,所以如果./configure不成功
而去make的话,就会出现"make: *** No targets specified and no makefile found.
Stop."
make 当./configure成功结束后,就开始正式编译程序了.
make install 编译成功后使用make install安装
make uninstall
某些软件支持卸载,可能使用该方法卸载,如果支持的话,通常会在README中写到(似乎比较少)
configure程序带有很多参数,可以通过 ./configure --help
查看详细内容,通常位于前面的是常规configure的
参数说明,末尾是该程序的可用参数说明。
./configure --prefix=/usr
指定安装目录,通常从源码包编译安装的软件默认会放在/usr/local下
因为这是FHS(Filesystem Hierarchy
Standard)的规定,不知道什么是FHS?看看这篇文章吧:
http://www.pathname.com/fhs/pub/fhs-2.3.html相信它会让你对linux系统结构有更好的理解,很值得读读。
再说一下几个关系到能否成功编译的东东:/etc/ld.so.conf ldconfig
PKG_CONFIG_PATH
首先说下/etc/ld.so.conf:
这个文件记录了编译时使用的动态链接库的路径。
默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件
如果你安装了某些库,比如在安装gtk+-2.4.13时它会需要glib-2.0 >=
2.4.0,辛苦的安装好glib后
没有指定 --prefix=/usr
这样glib库就装到了/usr/local下,而又没有在/etc/ld.so.conf中添加/usr/local/lib
这个搜索路径,所以编译gtk+-2.4.13就会出错了
对于这种情况有两种方法解决:
一:在编译glib-2.4.x时,指定安装到/usr下,这样库文件就会放在/usr/lib中,gtk就不会找不到需要的库文件了
对于安装库文件来说,这是个好办法,这样也不用设置PKG_CONFIG_PATH了 (稍后说明)
二:将/usr/local/lib加入到/etc/ld.so.conf中,这样安装gtk时就会去搜索/usr/local/lib,同样可以找到需要的库
将/usr/local/lib加入到/etc/ld.so.conf也是必须的,这样以后安装东东到local下,就不会出现这样的问题了。
将自己可能存放库文件的路径都加入到/etc/ld.so.conf中是明智的选择 ^_^
添加方法也极其简单,将库文件的绝对路径直接写进去就OK了,一行一个。例如:
/usr/X11R6/lib
/usr/local/lib
/opt/lib
再来看看ldconfig是个什么东东吧 :
它是一个程序,通常它位于/sbin下,是root用户使用的东东。具体作用及用法可以man ldconfig查到
简单的说,它的作用就是将/etc/ld.so.conf列出的路径下的库文件 缓存到/etc/ld.so.cache
以供使用
因此当安装完一些库文件,(例如刚安装好glib),或者修改ld.so.conf增加新的库路径后,需要运行一下/sbin/ldconfig
使所有的库文件都被缓存到ld.so.cache中,如果没做,即使库文件明明就在/usr/lib下的,也是不会被使用的,结果
编译过程中抱错,缺少xxx库,去查看发现明明就在那放着,搞的想大骂computer蠢猪一个。 ^_^
我曾经编译KDE时就犯过这个错误,(它需要每编译好一个东东,都要运行一遍),所以
切记改动库文件后一定要运行一下ldconfig,在任何目录下运行都可以。
再来说说 PKG_CONFIG_PATH这个变量吧:
经常在论坛上看到有人问"为什么我已经安装了glib-2.4.x,但是编译gtk+-2.4.x
还是提示glib版本太低阿?
为什么我安装了glib-2.4.x,还是提示找不到阿?。。。。。。"都是这个变量搞的鬼。
先来看一个编译过程中出现的错误 (编译gtk+-2.4.13):
checking for pkg-config... /usr/bin/pkg-config
checking for glib-2.0 >= 2.4.0 atk >=
1.0.1 pango >= 1.4.0... Package glib-2.0 was not
found in the pkg-config search path.
Perhaps you should add the directory containing
`glib-2.0.pc\'
to the PKG_CONFIG_PATH environment variable
No package \'glib-2.0\' found
configure: error: Library requirements (glib-2.0 >=
2.4.0 atk >= 1.0.1 pango >= 1.4.0)
not met; consider adjusting the PKG_CONFIG_PATH environment
variable if your libraries are in a nonstandard prefix so
pkg-config can find them.
[root@NEWLFS gtk+-2.4.13]#
很明显,上面这段说明,没有找到glib-2.4.x,并且提示应该将glib-2.0.pc加入到PKG_CONFIG_PATH下。
究竟这个pkg-config PKG_CONFIG_PATH glib-2.0.pc 是做什么的呢? let me tell you
^_^
先说说它是哪冒出来的,当安装了pkgconfig-x.x.x这个包后,就多出了pkg-config,它就是需要PKG_CONFIG_PATH的东东
pkgconfig-x.x.x又是做什么的? 来看一段说明:
代码:
The pkgconfig package contains tools for passing the include path
and/or library paths to build tools ring the make file
execution.
pkg-config is a function that returns meta information for the
specified library.
The default setting for PKG_CONFIG_PATH is /usr/lib/pkgconfig
because of the prefix we use to install pkgconfig. You may add to
PKG_CONFIG_PATH by exporting additional paths on your system where
pkgconfig files are installed. Note that PKG_CONFIG_PATH is only
needed when compiling packages, not ring run-time.
我想看过这段说明后,你已经大概了解了它是做什么的吧。
其实pkg-config就是向configure程序提供系统信息的程序,比如软件的版本啦,库的版本啦,库的路径啦,等等
这些信息只是在编译其间使用。你可以 ls /usr/lib/pkgconfig
下,会看到许多的*.pc,用文本编辑器打开
会发现类似下面的信息:
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
glib_genmarshal=glib-genmarshal
gobject_query=gobject-query
glib_mkenums=glib-mkenums
Name: GLib
Descrīption: C Utility Library
Version: 2.4.7
Libs: -L${libdir} -lglib-2.0
Cflags: -I${includedir}/glib-2.0
-I${libdir}/glib-2.0/include
明白了吧,configure就是靠这些信息判断你的软件版本是否符合要求。并且得到这些东东所在的位置,要不去哪里找呀。
不用我说你也知道为什么会出现上面那些问题了吧。
解决的办法很简单,设定正确的PKG_CONFIG_PATH,假如将glib-2.x.x装到了/usr/local/下,那么glib-2.0.pc就会在
/usr/local/lib/pkgconfig下,将这个路径添加到PKG_CONFIG_PATH下就可以啦。并且确保configure找到的是正确的
glib-2.0.pc,就是将其他的lib/pkgconfig目录glib-2.0.pc干掉就是啦。(如果有的话
^-^)
设定好后可以加入到~/.bashrc中,例如:
PKG_CONFIG_PATH=/opt/kde-3.3.0/lib/pkgconfig:/usr/lib/pkgconfig:/usr/local/pkgconfig:
/usr/X11R6/lib/pkgconfig
[root@NEWLFS ~]#echo $PKG_CONFIG_PATH
/opt/kde-3.3.0/lib/pkgconfig:/usr/lib/pkgconfig:/usr/local/pkgconfig:/usr/X11R6/lib/pkgconfig
从上面可以看出,安装库文件时,指定安装到/usr,是很有好处的,无论是/etc/ld.so.conf还是PKG_CONFIG_PATH
默认都会去搜索/usr/lib的,可以省下许多麻烦,不过从源码包管理上来说,都装在/usr下
管理是个问题,不如装在/usr/local下方便管理
其实只要设置好ld.so.conf,PKG_CONFIG_PATH路径后,就OK啦 ^_^
另外某些软件因为版本原因(比如emacs-21.3),在gcc-3.4.x下编译无法成功,(make 出错)
使用低版本的gcc就可能编译通过。
可能是因为gcc-3.3.x和gcc-3.4.x变化很大的缘故吧。
暂时想到了这么多,先记下这些吧,如果你对源码包编译有了一点的了解,就不枉我打了这么半天字啦。 ^_^
另外./configure 通过,make
出错,遇到这样的问题比较难办,只能凭经验查找原因,比如某个头文件没有找到,
这时候要顺着出错的位置一行的一行往上找错,比如显示xxxx.h no such file or directory
说明缺少头文件
然后去google搜。
或者找到感觉有价值的错误信息,拿到google去搜,往往会找到解决的办法。还是开始的那句话,要仔细看README,INSTALL
程序如何安装,需要什么依赖文件,等等。
另外对于newbie来说,编译时,往往不知道是否成功编译通过,而编译没有通过就去make install
必然会出错,增加了解决问题的复杂性,可以通过下面方法检查是否编译成功:
一:编译完成后,输入echo $? 如果返回结果为0,则表示正常结束,否则就出错了
echo $? 表示 检查上一条命令的退出状态,程序正常退出 返回0,错误退出返回非0。
二:编译时,可以用&&连接命令,
&&
表示"当前一条命令正常结束,后面的命令才会执行",就是"与"啦。
这个办法很好,即节省时间,又可防止出错。例:
./configure --prefix=/usr && make
&& make install
编译DOSBOX时出现"cdrom.h:20:23: SDL_sound.h: No such file or
directory"
今天忽然想回味下经典DOS游戏,于是编译这个DOSBOX模拟器,README中说明需要SDL_SOUND
于是下载,安装,很顺利,没有指定安装路径,于是默认的安装到了/usr/local/
当编译DOSBOX make 时,出现如下错误:
if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include
-I/usr/include/SDL -D_REENTRANT -march=pentium4 -O3 -pipe
-fomit-frame-pointer -MT dos_programs.o -MD -MP -MF
".deps/dos_programs.Tpo" -c -o dos_programs.o dos_programs.cpp;
then mv -f ".deps/dos_programs.Tpo" ".deps/dos_programs.Po"; else
rm -f ".deps/dos_programs.Tpo"; exit 1; fi
In file included from dos_programs.cpp:30:
cdrom.h:20:23: SDL_sound.h: No such file or directory
<------错误的原因在这里
In file included from dos_programs.cpp:30:
cdrom.h:137: error: ISO C++ forbids declaration of `Sound_Sample\'
with no type
cdrom.h:137: error: expected `;\' before \'*\' token
make[3]: *** [dos_programs.o] Error 1
make[3]: Leaving directory
`/root/software/dosbox-0.63/src/dos\'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/root/software/dosbox-0.63/src\'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/software/dosbox-0.63\'
make: *** [all] Error 2
[root@NEWLFS dosbox-0.63]#
看来是因为cdrom.h没有找到SDL_sound.h这个头文件
所以出现了下面的错误,但是我明明已经安装好了SDL_sound阿?
经过查找,在/usr/local/include/SDL/下找到了SDL_sound.h
看来dosbox没有去搜寻/usr/local/include/SDL下的头文件,既然找到了原因,就容易解决啦
[root@NEWLFS dosbox-0.63]#ln -s /usr/local/include/SDL/SDL_sound.h
/usr/include
做个链接到/usr/include下,这样DOSBOX就可以找到了,顺利编译成功,回味仙剑ing....^_^
曾经编译Xorg-6.8.1的时候,也出现找不到freetype.h的问题,原因也是如此。
编译安装软件时,经常遇到类似的情况,都是因为找不到需要的头文件而出现错误,也许是因为
没有安装相关的头文件,或者是安装了但没有找到,如上例。
找不到的情况:做个链接到/usr/include下,就可以了。
没安装的情况:去google找什么东东包括该头文件,安装上就应该可以了。
通常错误提示也都是"No such file or directory",所以编译失败时要好好找找错误信息哦。
错误信息总是在Error上面不远的,耐心点 ^_^
不修改/etc/ld.so.conf使用非默认路径下的库文件-----LD_LIBRARY_PATH
环境变量LD_LIBRARY_PATH列出了查找共享库时除了默认路径之外的其他路径。
如果不想修改或无法修改(无root权限)/etc/ld.so.conf而使用其他路径下的库文件
就需要设置LD_LIBRARY_PATH了,例:export
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/lib
这样就可以使用/opt/lib下的库文件啦。当然还是修改/etc/ld.so.conf方便。