문제

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