質問

I am trying to build kdiff3-0.9.97 in my machine with the following config 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

I got the following error when I am trying to make.

[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

I tried googling and the answers mentioned are not working

役に立ちましたか?

解決

It's mentioned that you need Qt4 4.4.0 or Newer, you have 4.2.1

From the README Requirements and Installation section :

Requirements & Installation

  • for KDE4: From version 0.9.93 on KDiff3 supports KDE4. For installation on most distributions you usually also require these packages (names as on opensuse):
    • g++ (g++, version 3.4 or newer)
    • libqt4-devel (Qt4-libs, version 4.4.0 or newer)
    • libkde4-devel (KDE4 Header files and development libraries)
    • libkonq-devel (optional, needed for the kdiff3-plugin, if not installed then the contextmenu plugin for konqueror won't be built.)
    • cmake (>2.6, checks dependencies and creates the Makefiles appopriate for your system)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top