Opened 11 years ago

Closed 11 years ago

#1190 closed defect (fixed)

layermanager fails to compile (wrong includes)

Reported by: skinkie@… Owned by: cbro@…
Priority: trivial Milestone:
Component: merkaartor Version:
Keywords: qwebframe include makefile Cc:

Description

I am using qt-webkit 4.4.1 (Gentoo Linux) the compile system does not include:

/usr/include/qt4/QtWebKit

I'm using: qmake NOUSEWEBKIT=1 PREFIX=/opt/merkaartor

g++ -c -m64 -pipe -g -Wall -W -D_REENTRANT -DVERSION="\"0.13\"" -DREVISION="\"-SVN\"" -D_TTY_POSIX_ -DTRANSDIR_MERKAARTOR="\"/opt/merkaartor/share/merkaartor/translations\"" -DTRANSDIR_SYSTEM="\"/opt/merkaartor/share/qt4/translations\"" -DQT_SVG_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSvg -I/usr/include/qt4/QtSvg -I/usr/include/qt4 -I. -IRender -Iqextserialport -IGPS -ITools -Itmp -Itmp -o tmp/obj_debug/layermanager.o QMapControl/layermanager.cpp In bestand ingevoegd vanuit QMapControl/layermanager.cpp:23: QMapControl/browserimagemanager.h:27:23: fout: qwebframe.h: Bestand of map bestaat niet QMapControl/browserimagemanager.h:28:25: fout: qwebhistory.h: Bestand of map bestaat niet QMapControl/browserimagemanager.h:29:34: fout: qwebhistoryinterface.h: Bestand of map bestaat niet QMapControl/browserimagemanager.h:30:27: fout: qwebkitglobal.h: Bestand of map bestaat niet QMapControl/browserimagemanager.h:31:22: fout: qwebpage.h: Bestand of map bestaat niet QMapControl/browserimagemanager.h:32:31: fout: qwebpluginfactory.h: Bestand of map bestaat niet QMapControl/browserimagemanager.h:33:26: fout: qwebsettings.h: Bestand of map bestaat niet QMapControl/browserimagemanager.h:34:22: fout: qwebview.h: Bestand of map bestaat niet In file included from QMapControl/layermanager.cpp:23: QMapControl/browserimagemanager.h:46: fout: expected class-name before ‘{’ token QMapControl/browserimagemanager.h:51: fout: ‘QWebFrame’ has not been declared QMapControl/browserimagemanager.h:126: fout: ISO C++ forbids declaration of ‘QWebView’ with no type QMapControl/browserimagemanager.h:126: fout: expected ‘;’ before ‘*’ token QMapControl/browserimagemanager.h:128: fout: ISO C++ forbids declaration of ‘QWebFrame’ with no type QMapControl/browserimagemanager.h:128: fout: expected ‘;’ before ‘*’ token make: * [tmp/obj_debug/layermanager.o] Fout 1

After adding the include to the makefile it obviously works.

Change History (5)

comment:1 Changed 11 years ago by skinkie@…

tmp/obj_debug/layermanager.o: In function `BrowserImageManager::instance()': layermanager.cpp:(.text._ZN19BrowserImageManager8instanceEv[BrowserImageManager::instance()]+0xe): undefined reference to `BrowserImageManager::m_BrowserImageManagerInstance' layermanager.cpp:(.text._ZN19BrowserImageManager8instanceEv[BrowserImageManager::instance()]+0x2f): undefined reference to `BrowserImageManager::BrowserImageManager?(QObject*)' layermanager.cpp:(.text._ZN19BrowserImageManager8instanceEv[BrowserImageManager::instance()]+0x3a): undefined reference to `BrowserImageManager::m_BrowserImageManagerInstance' layermanager.cpp:(.text._ZN19BrowserImageManager8instanceEv[BrowserImageManager::instance()]+0x67): undefined reference to `BrowserImageManager::m_BrowserImageManagerInstance' collect2: ld gaf exit-status 1 terug

...and that is one that might be related, or not, but I'm unable to fix it.

comment:2 Changed 11 years ago by Chris Browet

Resolution: invalid
Status: newclosed

I'd guess you want Yahoo, so don't indicate NOUSEWEBKIT=1. I'd recommend : qmake OSMARENDER=1 GEOIMAGE=1 PREFIX=/opt/merkaartor

GEOIMAGE=1 needs exiv2. If you don't have it/don't want to install it, just omit this one.

Furthermore, do systematically a "make clean" after a "qmake"

comment:3 Changed 11 years ago by skinkie@…

Resolution: invalid
Status: closedreopened

From your INSTALL:

2.1 Yahoo imagery

If you want Yahoo imagery, Qt 4.4+ is requierd

$ qmake Merkaartor.pro NOUSEWEBKIT=1

So if I want Yahoo imagery, your install tells me to use NOUSEWEBKIT=1 right? I'm just RTFM here. Your suggestion did fix the 'instance()' problem.

comment:4 Changed 11 years ago by Chris Browet

The INSTALL doc has been adapted.

If the first problem is still here, you probably have a problem with you qt installation. Is "x11-libs/qt-webkit-4.4.1" properly installed ?

comment:5 Changed 11 years ago by skinkie@…

Resolution: fixed
Status: reopenedclosed

It was fixed :) Thanks for updating :)

Note: See TracTickets for help on using tickets.