仙劍源碼
① 求仙劍奇俠傳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方便。