关于/kreplacements/kreplacements.h的错误

时间:2013-12-19 14:49:14

标签: c++ linux qt gcc kdiff3

我正在尝试使用以下配置在我的计算机中构建kdiff3-0.9.97 Linux 2.6.18-274.el5 #1 SMP Fri Jul 8 17:36:59 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux Red Hat Enterprise Linux Server release 5.7 (Tikanga)

[root@xxxx releaseQt]# /usr/lib64/qt4/bin/qmake -v
QMake version 2.01a
Using Qt version 4.2.1 in /usr/lib64/qt4/lib64

我在尝试制作时遇到以下错误。

[root@xxxxxx releaseQt]# make
g++ -c -include kdiff3 -m64 -pipe -O2 -D_REENTRANT -Wall -W  -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/lib64/qt4/mkspecs/linux-g++-64 -I../src-QT4 -/usr/lib64/qt4/include/QtCore -I/usr/lib64/qt4/include/QtCore -I/usr/lib64/qt4/include/QtGui -I/usr/lib64/qt4/include/QtGui -I/usr/lib64/qt4/include -I../src-QT4 -I../src-QT4/kreplacements -I../src-QT4 -I../src-QT4 -I. -o main.o ../src-QT4/main.cpp
In file included from ../src-QT4/kreplacements/kcmdlineargs.h:1,
from ../src-QT4/main.cpp:18:
../src-QT4/kreplacements/kreplacements.h:35:40: error: QExplicitlySharedDataPointer: No
../src-QT4/kreplacements/kreplacements.h:288: error: ISO C++ forbids declaration of âQEx
../src-QT4/kreplacements/kreplacements.h:288: error: expected â;â before â<â token
../src-QT4/kreplacements/kreplacements.h: In member function âvoid KConfigGroup::writeEn
../src-QT4/kreplacements/kreplacements.h:298: error: âdâ was not declared in this scope
../src-QT4/kreplacements/kreplacements.h: In member function âvoid KConfigGroup::writeEn:
../src-QT4/kreplacements/kreplacements.h:299: error: âdâ was not declared in this scope
../src-QT4/kreplacements/kreplacements.h: In member function âvoid KConfigGroup::writeEn
../src-QT4/kreplacements/kreplacements.h:300: error: âdâ was not declared in this scope
../src-QT4/kreplacements/kreplacements.h: In member function âT KConfigGroup::readEntry(
../src-QT4/kreplacements/kreplacements.h:302: error: âdâ was not declared in this scope
../src-QT4/kreplacements/kreplacements.h: In member function âQString KConfigGroup::read
../src-QT4/kreplacements/kreplacements.h:303: error: âdâ was not declared in this scope
../src-QT4/kreplacements/kreplacements.h: In member function âQStringList KConfigGroup::char)â:
../src-QT4/kreplacements/kreplacements.h:304: error: âdâ was not declared in this scope

我尝试使用Google搜索并且提到的答案无效

1 个答案:

答案 0 :(得分:1)

提到你需要Qt4 4.4.0或更新,你有 4.2.1

来自README Requirements and Installation部分:

要求&amp;安装

  • 代表KDE4: 从版本0.9.93开始,KDiff3支持KDE4。 对于大多数发行版上的安装,您通常还需要这些包(名称为opensuse):
    • g ++(g ++,3.4或更新版本)
    • libqt4-devel(Qt4-libs,版本4.4.0或更新版本)
    • libkde4-devel(KDE4头文件和开发库)
    • libkonq-devel(可选,kdiff3-plugin需要,如果没有安装的话             然后将不会构建konqueror的contextmenu插件。)
    • cmake(&gt; 2.6,检查依赖项并为您的系统创建适合的Makefile)