我想在mini2440上使用qt4.6.2,所以我在fedora 9上面开始了编译过程。
我需要用到phonon,所以在configure时加上了-phonon 和 -phonon-backend参数,configure的过程中提示了N多的错误。
我加上了很多选项,最终选项如下所示:
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig \
./configure \
-v \
-prefix /usr/local/QtEmbedded-4.6.2-ARM \
-opensource \
-confirm-license \
-release -shared \
-embedded arm \
-xplatform qws/linux-arm-g++ \
-depths 16,18,24 \
-fast \
-optimized-qmake \
-pch \
-qt-libjpeg \
-qt-zlib \
-qt-libpng \
-qt-freetype \
-little-endian -host-little-endian \
-no-qt3support \
-no-libtiff -no-libmng \
-no-opengl \
-no-mmx -no-sse -no-sse2 \
-no-3dnow \
-no-openssl \
-no-webkit \
-no-qvfb \
-no-nis \
-no-opengl \
-no-cups \
-no-glib \
-phonon \
-phonon-backend \
-no-xcursor -no-xfixes -no-xrandr -no-xrender \
-no-separate-debug-info \
-nomake examples -nomake tools -nomake docs \
-qt-mouse-tslib -I/usr/local/tslib/include -I/usr/local/include/gstreamer-0.10 -L/usr/local/tslib/lib -L/usr/local/lib \
-no-neon \
-no-largefile \
-no-dbus \
-no-sql-sqlite \
-no-sql-db2 \
-no-sql-ibase \
-no-sql-mysql \
-no-sql-oci \
-no-sql-odbc \
-no-sql-psql \
-no-sql-sqlite2 \
-no-sql-sqlite_symbian \
-no-sql-tds \
-no-openvg \
-no-sm
在此之前,我已经编译好了arm-linux的gstreamer。但是在qt 4.6.2下configure时还是有如下错误提示,我实在是一筹莫展了,望高手赐教:
floatmath enabled.
unknown SQL driver: sqlite_symbian
EGL (EGL/egl.h) auto-detection... ()
arm-linux-g++ -c -pipe -O2 -Wall -W -I../../../mkspecs/qws/linux-arm-g++ -I. -I/usr/local/tslib/include -I/usr/local/include/gstreamer-0.10 -o egl.o egl.cpp
cc1plus: warning: include location "/usr/local/include/gstreamer-0.10" is unsafe for cross-compilation
egl.cpp:42:21: error: EGL/egl.h: No such file or directory
egl.cpp: In function 'int main(int, char**)':
egl.cpp:46: error: 'EGLint' was not declared in this scope
egl.cpp:46: error: expected `;' before 'x'
egl.cpp:47: error: 'EGLDisplay' was not declared in this scope
egl.cpp:47: error: expected `;' before 'dpy'
egl.cpp:48: error: 'EGLContext' was not declared in this scope
egl.cpp:48: error: expected `;' before 'ctx'
egl.cpp:49: error: 'dpy' was not declared in this scope
egl.cpp:49: error: 'ctx' was not declared in this scope
egl.cpp:49: error: 'eglDestroyContext' was not declared in this scope
gmake: *** [egl.o] 错误 1
EGL (EGL/egl.h) disabled.
EGL (GLES/egl.h) auto-detection... ()
arm-linux-g++ -c -pipe -O2 -Wall -W -I../../../mkspecs/qws/linux-arm-g++ -I. -I/usr/local/tslib/include -I/usr/local/include/gstreamer-0.10 -o egl4gles1.o egl4gles1.cpp
cc1plus: warning: include location "/usr/local/include/gstreamer-0.10" is unsafe for cross-compilation
egl4gles1.cpp:42:22: error: GLES/egl.h: No such file or directory
egl4gles1.cpp: In function 'int main(int, char**)':
egl4gles1.cpp:46: error: 'EGLint' was not declared in this scope
egl4gles1.cpp:46: error: expected `;' before 'x'
egl4gles1.cpp:47: error: 'EGLDisplay' was not declared in this scope
egl4gles1.cpp:47: error: expected `;' before 'dpy'
egl4gles1.cpp:48: error: 'EGLContext' was not declared in this scope
egl4gles1.cpp:48: error: expected `;' before 'ctx'
egl4gles1.cpp:49: error: 'dpy' was not declared in this scope
egl4gles1.cpp:49: error: 'ctx' was not declared in this scope
egl4gles1.cpp:49: error: 'eglDestroyContext' was not declared in this scope
gmake: *** [egl4gles1.o] 错误 1
EGL (GLES/egl.h) disabled.
Phonon support cannot be enabled due to functionality tests!
Turn on verbose messaging (-v) to ./configure to see the final report.
If you believe this message is in error you may use the continue
switch (-continue) to ./configure to continue.