2009年4月27日 星期一

安裝anca-0.9.1

因為我的電腦有qt3與qt4, 因此要設定qt3的路徑, 否則它有可能會找到Qt4

$ ./configure --with-qt-dir=/usr/share/qt3

一開始要編譯會出現問題,會缺少某一些套件

$ sudo apt-get install libpt-dev libopenh323-dev

好不容易,configure都過了,這就表示我們需要編譯的相關套件都有了。

好啦,可以開始make了吧~

噹噹,馬上出現問題。

說什麼找不到aclocal-1.7與automake-1.7
但是,我的電腦有aclocal與automake啊~
一定要那一個版本嗎?

使用以下的指令就可以解決

$ sudo cp /usr/bin/aclocal /usr/bin/aclocal-1.7
$ sudo cp /usr/bin/automake /usr/bin/automake-1.7

這個時候再去make
基本上沒有問題啦~
錯,哪有這麼順利,出現以下的錯誤啦~
yuv2rgb.cpp:131: error: lvalue required as left operand of assignment
yuv2rgb.cpp:135: error: lvalue required as left operand of assignment
yuv2rgb.cpp:139: error: lvalue required as left operand of assignment

進入程式碼中,131行原本是如下
c_this->y_buffer = (uint8_t *)c_this->y_chunk = 0;
把它改成如下
c_this->y_chunk = 0;
c_this->y_buffer = (uint8_t *)c_this->y_chunk;

其它的依些類推

再make一次
好啦,849這一行也有一樣的問題啦
原本是如下這一行
(uint8_t *)c_this->table_rV[i] += c_this->entry_size*(gamma - c_this->gamma);
把它改成
c_this->table_rV[i] = (uint8_t *)c_this->table_rV[i] + c_this->entry_size*(gamma - c_this->gamma);

參考資料:
SourceForge.net

沒有留言: