PDA

View Full Version : Problem cross compiling examples/demo on mips.Qmake/Linking?



Cursedbeasty
5th July 2007, 11:40
I'm having some trouble compiling Qtopia Core Open Source Edition for the mips platform. Any help getting to a solution would be greatly appreciated.

Qmake seems to fail to create the appropriate makefiles for the Examples and Demos directories. The make files seem to miss the appropriate linker flags resulting in failure. I have noticed some errors in the configure stage which I suspect might have something to do with the problem, but have been unable to get anywhere with it. When running configure with the options "-nomake demos" "-nomake examples" the make finishes fine.

Thanks in advance



Details
--------
********************
Configure Error
********************

The errors I get throughout the ./configure process are as follows;

...
qbase.pri:141: Unknown replace function: qtLibraryTarget
...
qt.prf:70: Unknown test function: qtAddLibrary
...
/home/student8/Desktop/qtop/qtopia-core-4.3.0/examples/tools/plugandpaintplugins/extrafilters/extrafilters.pro:6: Unknown replace function: qtLibraryTarget


********************
Make Error
********************

cd examples/ && make -f Makefile
make[1]: Entering directory `/home/student8/Desktop/qtop/buildMips/examples'
cd desktop/ && make -f Makefile
make[2]: Entering directory `/home/student8/Desktop/qtop/buildMips/examples/desktop'
cd screenshot/ && make -f Makefile
make[3]: Entering directory `/home/student8/Desktop/qtop/buildMips/examples/desktop/screenshot'
mips_4KCle-g++ -fno-exceptions -Wl,-rpath,/usr/lib/qtopia-4/lib -Wl,-rpath,/usr/local/lib:/usr/lib:/lib -o screenshot .obj/release-shared-emb-mips/main.o .obj/release-shared-emb-mips/screenshot.o .obj/release-shared-emb-mips/moc_screenshot.o -L/home/student8/Desktop/qtop/buildMips/lib -ldl -lpthread
.obj/release-shared-emb-mips/main.o: In function `main':
main.cpp:(.text+0x20): undefined reference to `QApplication::QApplication(int&, char**, int)'
main.cpp:(.text+0x6c): undefined reference to `QApplication::exec()'
main.cpp:(.text+0x88): undefined reference to `QPixmap::~QPixmap()'
main.cpp:(.text+0xa4): undefined reference to `QWidget::~QWidget()'
main.cpp:(.text+0xb4): undefined reference to `QApplication::~QApplication()'
.obj/release-shared-emb-mips/screenshot.o: In function `Screenshot::newScreenshot()':
screenshot.cpp:(.text+0x20): undefined reference to `QAbstractButton::isChecked() const'
screenshot.cpp:(.text+0x50): undefined reference to `QWidget::setDisabled(bool)'
screenshot.cpp:(.text+0x64): undefined reference to `QSpinBox::value() const'
screenshot.cpp:(.text+0x84): undefined reference to `QTimer::singleShot(int, QObject*, char const*)'
.obj/release-shared-emb-mips/screenshot.o: In function `Screenshot::updateCheckBox()':
screenshot.cpp:(.text+0xc4): undefined reference to `QSpinBox::value() const'
screenshot.cpp:(.text+0xe0): undefined reference to `QWidget::setDisabled(bool)'
.obj/release-shared-emb-mips/screenshot.o: In function `Screenshot::createButton(QString const&, QWidget*, char const*)':
screenshot.cpp:(.text+0x15c): undefined reference to `QPushButton::QPushButton(QString const&, QWidget*)'
screenshot.cpp:(.text+0x17c): undefined reference to `QObject::connect(QObject const*, char const*, QObject const*, char const*, Qt::ConnectionType)'
.obj/release-shared-emb-mips/screenshot.o: In function `Screenshot::updateScreenshotLabel()':

...


********************
Configure options;
********************

-prefix $(ROOTFS)/usr/lib/qtopia-4 \
-little-endian \
-xplatform qws/linux-mips-g++ \
-depths 8,16,32 \
-qvfb \
-embedded mips \
-freetype \
-system-libjpeg \
-nomake demos \
-qt3support \
-R$(ROOTFS)/usr/local/lib:$(ROOTFS)/usr/lib:$(ROOTFS)/lib

********************
qws/linux-mips-g++;
********************
#
# $Id: qt/qmake.conf 3.3.7 edited May 27 2003 $
#
# qmake configuration for linux-g++ using the mips_4KCle-g++ crosscompiler
#

MAKEFILE_GENERATOR = UNIX
TEMPLATE = app
CONFIG += qt link_prl
QT += core gui network
QMAKE_INCREMENTAL_STYLE = sublib

QMAKE_CC = mips_4KCle-gcc
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
QMAKE_YACC = yacc
QMAKE_YACCFLAGS = -d
QMAKE_CFLAGS = -pipe
QMAKE_CFLAGS_WARN_ON = -Wall -W
QMAKE_CFLAGS_WARN_OFF =
QMAKE_CFLAGS_RELEASE = -O2
QMAKE_CFLAGS_DEBUG = -g
QMAKE_CFLAGS_SHLIB = -fPIC
QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
QMAKE_CFLAGS_THREAD = -D_REENTRANT

QMAKE_CXX = mips_4KCle-g++
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -DQWS
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD

QMAKE_INCDIR =
QMAKE_LIBDIR =
QMAKE_INCDIR_X11 =
QMAKE_LIBDIR_X11 =
QMAKE_INCDIR_QT = $(QTDIR)/include
QMAKE_LIBDIR_QT = $(QTDIR)/lib
QMAKE_INCDIR_OPENGL = /usr/X11R6/include
QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
QMAKE_INCDIR_QTOPIA = $(QPEDIR)/include
QMAKE_LIBDIR_QTOPIA = $(QPEDIR)/lib

QMAKE_LINK = mips_4KCle-g++
QMAKE_LINK_SHLIB = mips_4KCle-g++
QMAKE_LFLAGS =
QMAKE_LFLAGS_RELEASE =
QMAKE_LFLAGS_DEBUG =
QMAKE_LFLAGS_SHLIB = -shared
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME = -Wl,-soname,
QMAKE_LFLAGS_THREAD =
QMAKE_RPATH = -Wl,-rpath,

QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
QMAKE_LIBS_X11 =
QMAKE_LIBS_X11SM =
QMAKE_LIBS_QT = -lqte
QMAKE_LIBS_QT_THREAD = -lqte-mt
QMAKE_LIBS_QT_OPENGL = -lqgl
QMAKE_LIBS_QTOPIA = -lqtopia -lqpe
QMAKE_LIBS_THREAD = -lpthread

QMAKE_MOC = $(QTDIR)/bin/moc
QMAKE_UIC = $(QTDIR)/bin/uic

QMAKE_AR = ar cqs
QMAKE_RANLIB =

QMAKE_TAR = tar -cf
QMAKE_GZIP = gzip -9f

QMAKE_COPY = cp -f
QMAKE_MOVE = mv -f
QMAKE_DEL_FILE = rm -f
QMAKE_DEL_DIR = rmdir
QMAKE_CHK_DIR_EXISTS = test -d
QMAKE_MKDIR = mkdir -p

wysota
5th July 2007, 11:53
The problem seems to be that for some reason qmake from 4.3 and 3.3 are mixed ("$Id: qt/qmake.conf 3.3.7 edited May 27 2003 $"). Could you verify that qmake is fed the correct specs?