在fedora9中编译安装qterm-0.5.2的故障解决
刚刚发表了一篇在fedora中安装qterm-0.5.1的方法介绍。
昨天下载了最最新的qterm-0.5.2,可是怎么编译都是报错,意思是说找不到abs函数,可abs函数明明就是在stdlib.h中阿。
报错信息如下:
[ 64%] Building CXX object src/CMakeFiles/qterm.dir/qtermbbs.o
/rocrocket/PSB/software/src/qterm-0.5.2/src/qtermbbs.cpp: In member function ‘bool QTerm::BBS::checkUrl(QRect&, QRect&, bool)’:
/rocrocket/PSB/software/src/qterm-0.5.2/src/qtermbbs.cpp:459: warning: suggest explicit braces to avoid ambiguous ‘else’
[ 65%] Building CXX object src/CMakeFiles/qterm.dir/qtermbuffer.o
/rocrocket/PSB/software/src/qterm-0.5.2/src/qtermbuffer.cpp: In member function ‘void QTerm::Buffer::shiftStr(int, int, int, int)’:
/rocrocket/PSB/software/src/qterm-0.5.2/src/qtermbuffer.cpp:284: error: ‘abs’ was not declared in this scope
/rocrocket/PSB/software/src/qterm-0.5.2/src/qtermbuffer.cpp: In member function ‘QRect QTerm::Buffer::getSelectRect(int, bool)’:
/rocrocket/PSB/software/src/qterm-0.5.2/src/qtermbuffer.cpp:640: error: ‘abs’ was not declared in this scope
make[2]: *** [src/CMakeFiles/qterm.dir/qtermbuffer.o] Error 1
make[1]: *** [src/CMakeFiles/qterm.dir/all] Error 2
make: *** [all] Error 2
解决办法:
将qtermbuffer.cpp中的abs都替换为qAbs即可!
两个教训:
一是“一定仔细看出错信息”!
二是“别以为源码包没有错”!!
出自Linux, Thoughts and Lifes - rocrocket