資工問題雜筆

[資工雜筆] 在Ubuntu上灌太陽神三國殺

之前因為聽學長說有單機版的三國殺叫做太陽神三國殺,所以就想說去載載看來玩,回味一下高中的生活。我不想灌在windows上,因為現在已經很少開windows了,沒想到這個念頭卻意外地開啟了3個多小時累人的灌三國殺之路。

太陽神三國殺 vs 三國殺

三國殺是對岸創作(?)的一個桌遊,不僅在對岸很紅,連我們這邊也很紅。然後三國殺有很多版本,我有玩過原版的,也有玩過國戰的,都還不錯玩。

太陽神三國殺是一個open source的軟體,原始碼放在github上,主要是以C和C++寫的。太陽三國殺是一款單機遊戲,不過好像也可以連線,但是我還沒試過。

放在github上的這版是國戰的版本。

灌三國殺的三小時

下面有灌這套軟體的步驟,於是我就照著步驟走。

QTcreator在軟體中心就有可以灌了,而swig我試軟體中心的不行,於是找到下面這個網站,載下來解壓縮。

http://sourceforge.net/projects/swig/files/swig/

swig簡單來說,就是一個把C/C++和script語言結合起來的工具。

swig -c++ -lua sanguosha.i

這步是要把C++和lua這個程式語言做結合。我以前沒有聽過這個程式語言,有空的時候來研究一下。

sudo cp libfmodex*.so /usr/lib

這步是要把libfmodex.so和libfmodexL.so放到usr/lib這個library去。而這步就是造成我今天會做這麼久的主因。不過這個部份稍後再說。

sudo ldconfig這個步驟是要系統知道我們已經有添加新的library了,不然我們只是把我們的*.so檔加到usr/lib裡,系統壓根不知道有多的東西被我們加進去了。Open QSanguosha.pro, configure the project and make sure the project is compiled with g++.

這步是要我們利用QT這個環境把我們下載下來的code變成一個app。所以輸入指令

qmake QSanguosha.pro

理論上就要能變出一個app,不過事與願違。出現了以下的error message:

Project ERROR: Unknown module(s) in QT: script。

而這是因為我們沒有qtscript5-dev這個library,輸入

sudo apt-get install qtscript5-dev。

http://www.aboutlinux.info/2006/01/creating-and-compiling-qt-projects-on.html

這步完成之後,就可以開始make 了。在原來的QSanguosha目錄下輸入make即可。這時就是讓QT去跑開發者預先寫好的script,把一個一個.o檔都弄出來,然後再build成一個app。但是這時候又出現了一個error message:

/usr/bin/ld: cannot find -lfreetype。

這個問題就是因為沒有libfreetype6dev這個library所致的。一樣

sudo apt-get install libfreetype6-dev

以下有兩篇可以參考:

http://stackoverflow.com/questions/764928/usr-bin-ld-cannot-find-lfreetype-why-and-how-can-i-make-it-work

http://i-pogo.blogspot.tw/2010/01/usrbinld-cannot-find-lxxx.html

到這邊看似快要完成了,其實不然。接著出現以下message:

libfmodex.so: wrong ELF class: ELFCLASS32。

因為我們剛剛的 libfmodex.so 和 libfmodexL.so 兩個library是32bits OS下用的,但我的系統是64bits的。所以還要找到64bits的libfmodex.so和libfmodexL.so,把它替換掉。把東西載下來後,找到 libfmodex64-4.44.54.so 和 libfmodexL64-4.44.54.so,然後複製過去,更名即可。

https://github.com/Mogara/QSanguosha/issues/196

http://ubuntuforums.org/showthread.php?t=1606261

http://www.fmod.org/download-previous-products/

關於FMOD Ex Designer的簡介:FMOD Designer is a tool that allows sound designers to create complex, multi-layered audio events.

到這邊就解決了,最後輸入

./QSanguosha

就可以開始玩了,雖然我已經累到不想玩了= =

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s