在这里发过一个贴子:
http://www.linux-ren.org/forum.php?mod=viewthread&tid=56150&page=1#pid368004
我copy内容如下。
执行的命令:
cd qterm-0.5.12
mkdir build
cd build
cmake ..
这时屏幕输出内容看到报错如下:
-- The C compiler identification is GNU 4.8.1
-- The CXX compiler identification is GNU 4.8.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found
-- Found Qt4: /usr/bin/qmake-qt4 (found suitable version "4.8.5", minimum required is "4.5.0")
CMake Error at /usr/share/apps/cmake/modules/FindQt4.cmake:514 (MESSAGE):
Invalid Qt version string given: "4.5.0", major version 4 is required, e.g.
"4.0.1"
Call Stack (most recent call first):
/usr/share/apps/cmake/modules/FindKDE4Internal.cmake:420 (find_package)
/usr/share/cmake-2.8/Modules/FindKDE4.cmake:95 (find_package)
CMakeLists.txt:11 (find_package)-- Configuring incomplete, errors occurred!
参考这里:https://bbs.archlinux.org/viewtopic.php?id=122405
暂时先挪走 /usr/share/apps/cmake/modules/FindQt4.cmake,重新执行cmake就OK了,但是在执行make时又报错如下:
/tmp/qterm-0.5.12/src/main.cpp: 在函数‘void sig_fatal_handler(int)’中:
/tmp/qterm-0.5.12/src/main.cpp:64:29: 错误:‘chdir’在此作用域中尚未声明
chdir (QTERM_SIG_LOG_DIR);
^
/tmp/qterm-0.5.12/src/main.cpp:68:14: 错误:‘STDERR_FILENO’在此作用域中尚未声明
fd = STDERR_FILENO;
^
/tmp/qterm-0.5.12/src/main.cpp:75:35: 错误:‘write’在此作用域中尚未声明
write (fd, _buf, strlen (_buf));
^
/tmp/qterm-0.5.12/src/main.cpp:79:14: 错误:‘close’在此作用域中尚未声明
close (fd);
^
/tmp/qterm-0.5.12/src/main.cpp: 在函数‘void sig_fatal_init()’中:
/tmp/qterm-0.5.12/src/main.cpp:91:48: 错误:‘getpid’在此作用域中尚未声明
QTERM_SIG_LOG_DIR, "qterm", getpid(), _buf);
^
/tmp/qterm-0.5.12/src/main.cpp:93:40: 错误:‘access’在此作用域中尚未声明
if (access (QTERM_SIG_LOG_DIR, F_OK))
^
make[2]: *** [src/CMakeFiles/qterm.dir/main.o] 错误 1
make[1]: *** [src/CMakeFiles/qterm.dir/all] 错误 2
make: *** [all] 错误 2
没见到过这样的错误,只能尝试排除法:
编辑 qterm/CMakeLists.txt,
find_package(Qt4 4.5.0 REQUIRED)
-> find_package(Qt4)