最近玩了一玩silenteye這個影像處理軟體,對立面的某些功能尤其好奇,所以想研究一下原始碼,於是,開啟了某瓶子憋屈的Silenteye編譯之路。首先要在windows下編譯,不過官網上特別指出最好別用VS進行編譯,於是安裝了VS2010的某瓶子只好另闢蹊徑,選擇了VMware裡面唯一的那個鏡像——ubuntu11.10,就決定是你了~~~哦也~
老規矩開啟Silenteye,一看官網瓶子可樂翻了,裡面居然有 compile source code 版塊,仔細一看,更歡樂了,步驟超級詳細啊,如下面所示,於是某瓶子開始了看似歡樂實則悲摧的Silenteye Linux編譯之路。
下面偶就官網的內容逐一控訴偶的心酸旅途:
1. Linux1.2. Requirements
You have to install Qt from source with the following commands:
root$ wget http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.1.tar.gz
root$ tar -zxvf qt-everywhere-opensource-src-4.7.1.tar.gz
root$ cd qt-everywhere-opensource-src-4.7.1
root$ ./configure -release -nomake examples -nomake demos -no-qt3support -no-scripttools -no-opengl -no-webkit -no-phonon -no-sql-sqlite -gtkstyle -opensource -prefix /usr/local/Qt-4.7.1-release
root$ make
root$ make install
單位的泥蜀黍曾經說過,有兩種人推動了社會的進步,其中一種是女人另一種是懶人,所以為社會進步做了雙重貢獻的某瓶子一瞧見這個命令,連想都沒想,直接逐一複製粘貼,果然超級順利啊~~~~~不過……make這條語句的執行用了整整三個小時有木有!!!
看看小說,聽聽音樂,吹吹牛皮,總算把第一步完成,於是複製黏貼。
QCA is also required for encryption support (modules) :
root$ wget http://delta.affinix.com/download/qca/2.0/qca-2.0.3.tar.bz2
root$ bunzip2 qca-2.0.3.tar.bz2 && tar -xvf qca-2.0.3.tar
root$ cd qca-2.0.3
root$ ./configure --qtdir=/usr/local/Qt-4.7.1-release/
root$ make
root$ make install
這裡沒啥問題,超級順利,不過到後來會發現,你看到QCA這三個字就想吐!不知道為什麼聽我慢慢道來,走啊走啊,進入苦逼第一站qca-ossl!
沒錯就是qca-ossl!!
next is QCA plugin for OpenSSL support :
root$ wget http://delta.affinix.com/download/qca/2.0/plugins/qca-ossl-2.0.0-beta3.tar.bz2
root$ bunzip2 qca-ossl-2.0.0-beta3.tar.bz2 && tar -xvf qca-ossl-2.0.0-beta3.tar
root$ cd qca-ossl-2.0.0-beta3
這三條語句你是不是覺得沒問題,是不是輕鬆愜意無壓力呢??OK!請執行下一條語句!!
root$ ./configure --qtdir=/usr/local/Qt-4.7.1-release/
怎麼樣?報錯了是不是?是不是??是不是???
什麼錯誤告訴我!神馬,QCA木有!木有你妹!!偶上面明明裝了是不是!是不是!!怎麼還木有!!!
對著silenteye的網頁拚命校對啊!說真的,複製粘貼的東東也錯實在也是粉需要人品的一件事!!
於是糾結,掙紮,網上拚命查!
但是木有相關的網址!!腫麼辦!!!
……
……
晃悠了N多時間,轉機出現在某隻隨手開啟QCA的README一看……原來它漏了一條類似ldconfig的東東……(#‵′)凸
OK!QCA有了!!你是不是覺得木有問題了呢???OK,它又告訴你Openssl木有!!這種問題對瓶子來說小意思,apt一個libssl庫上去問題解決。
爽快進入下一條,於是,剛從一個坑裡爬出來緊接著又掉進了又一個坑。
root$ make
終於好make了,是不是粉得意??好,沒兩句報個"EVP_XXXX"的錯誤給你,oh my lady gaga!!
秉著遇佛殺佛,遇鬼殺鬼的瓶子信條,最終瓶子還是找到瞭解決方法:將這個報錯的檔案中的有關那個XXXX的語句全部注釋掉。
編譯成功!!
root$ make install
裝完了qca-ossl是不是覺得木有問題了呢?馬上give you some color see see
CMake 2.8.5 to build project:
root$ wget http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gz
root$ tar -zxvf cmake-2.8.5.tar.gz
root$ cd cmake-2.8.5
root$ ./configure 這裡還是這裡!!硬說我一個啥子fstream.h的標頭檔找不到!!好滴,偶下一個放在這裡行了不!!
神馬!還有一個找不到!!ok !我在下一個...
到最後,瓶子怒了,為啥子偶一定要按照官網這個破步驟,直接apt一個cmake不就得了!!
root$ make
root$ make install
都不按照官網做了,這兩句沒做。
Then download, decompress and move into source folder :
user$ wget http://sourceforge.net/projects/silenteye/files/Source/silenteye-0.4.1-src.zip/download
這句又坑爹了,自己直接去官網下sourcecode包吧,這句真心不靠譜。
user$ unzip silenteye-src-0.4.1.zip
user$ cd silenteye-src-0.4.1
Note: Source also available on Subversion (svn co http://svn.silenteye.org/application/tag/0.4/0.4.1/0.4.1-20110307 silenteye-0.4.1)
1.2. Let's compile
Now you can generate MakeFile like this :
user$ export PATH=$PATH:/usr/local/Qt-4.7.1-release/bin
不容易啊這幾句都沒問題。
user$ ENABLE_MODULE=1 cmake .
這句最後有個“.”的看見了木有! 一定要寫,否則就是杯具!!
Note: More variable are available, please read the README_UNIX file
Just run make command to build the project
make
1.3. Run
You can now run silenteye with the following command :
./silenteye
NB: Those commands are based on Debian/Ubuntu distribution and executed into a black console.
1.4. Install on system
Installation information can be found on README_UNIX (use of ENABLE_PACK=1).
經過悲摧的兩個晚上,為啥米不是白天,因為白天要上班...總算解決了linux下的編譯,接下去的windows編譯……希望表再坑爹了,開源軟體的文檔實在就是一堆茶几。