[Marble-devel] Nee help - building Marble with older KDE libs

Alexander Todorov alexx.todorov at gmail.com
Wed Aug 8 15:15:45 UTC 2012


Hi guys,
I'm trying to build marble 4.9.0 from Fedora SRPM under RHEL6 (as part of my 
effort to build newer Digikam). The thing is that RHEL6 has kdelibs-4.3.4.

The build hits this error:


/home/atodorov/rpmbuild/BUILD/marble-4.9.0/x86_64-redhat-linux-gnu/src/settings.cpp: 
In constructor 'MarbleSettings::MarbleSettings()':
/home/atodorov/rpmbuild/BUILD/marble-4.9.0/x86_64-redhat-linux-gnu/src/settings.cpp:296: 
error: no matching function for call to 
'KCoreConfigSkeleton::ItemInt::ItemInt(QString, QLatin1String, QString&, int)'
/usr/include/kde4/kcoreconfigskeleton.h:524: note: candidates are: 
KCoreConfigSkeleton::ItemInt::ItemInt(const QString&, const QString&, qint32&, 
qint32)
/usr/include/kde4/kcoreconfigskeleton.h:521: note: 
KCoreConfigSkeleton::ItemInt::ItemInt(const KCoreConfigSkeleton::ItemInt&)


The line in question is:

itemExternalMapEditor = new KConfigSkeleton::ItemInt( currentGroup(), 
QLatin1String( "externalMapEditor" ), mExternalMapEditor, 0 );

mExternalMapEditor is QString not qint32.


As far as I can see in both kdelibs 4.3.4 and kdelibs 4.9.0 ItemInt is defined 
the same way:

ItemInt (const QString &_group, const QString &_key, qint32 &reference, qint32 
defaultValue=0)


Why does it fail then? Or to ask another way - why does it work w/ newer KDE 
libs if the function signature is the same (3rd param is qint32) but you pass a 
QString? Shouldn't it fail both times?


--
Alex




More information about the Marble-devel mailing list