为嵌入式Linux安装QT4.7.4。多个错误

时间:2011-10-05 13:54:12

标签: qt fedora embedded-linux glib

我是Linux的 绝对初学者 ,并为嵌入式Linux开发。我正在尝试将嵌入式Linux的QT安装到我的Fedora 15笔记本电脑上以定位i.Mx233。

首先,在qt-everywhere-opensource-src-4.7.4文件夹中输入命令:

./configure -v -embedded arm -xplatform qws/linux-arm-imx -phonon -force-pkg-config

使用linux-arm-imx qmake conf文件:

#
# qmake configuration for building with arm-none-linux-gnueabi-g++
#

include(../../common/g++.conf)
include(../../common/linux.conf)
include(../../common/qws.conf)

# modifications to g++.conf
QMAKE_CC                = /opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc-4.1.2
QMAKE_CXX               = /opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++
QMAKE_LINK              = /opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++
QMAKE_LINK_SHLIB        = /opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++

# modifications to linux.conf
QMAKE_AR                = /opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-ar
QMAKE_OBJCOPY           = /opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-objcopy
QMAKE_STRIP             = /opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-strip

load(qt_config)

配置提供以下输出(对不起长度,但我不知道在哪里查明错误):

[david@localhost qt-everywhere-opensource-src-4.7.4]$   PKG_CONFIG_PATH=/opt/freescale/pkgs ./configure --prefix=/opt/freescale/pkgs -v -embedded arm -xplatform qws/linux-arm-imx -phonon -force-pkg-config
Which edition of Qt do you want to use ?

Type 'c' if you want to use the Commercial Edition.
Type 'o' if you want to use the Open Source Edition.

o

Determining system architecture... (Linux:2.6.40.4-5.fc15.i686:i686)
    32-bit Intel 80x86 (i386)
    'arm' is supported
    'i386' is supported
System architecture: 'arm'
Host architecture: 'i386'

You have asked to use pkg-config and are cross-compiling.
Please make sure you have a correctly set-up pkg-config
environment!


Warning: PKG_CONFIG_SYSROOT/PKG_CONFIG_SYSROOT_DIR has not
been set. This means your toolchain's .pc files must contain
the paths to the toolchain's libraries & headers. If configure
tests are failing, please check these files.

Precompiled-headers support enabled.
Symbol visibility control enabled.

This is the Qt for Embedded Linux Open Source Edition.

You are licensed to use this software under the terms of
the Lesser GNU General Public License (LGPL) versions 2.1.
You are also licensed to use this software under the terms of
the GNU General Public License (GPL) versions 3.

Type '3' to view the GNU General Public License version 3.
Type 'L' to view the Lesser GNU General Public License version 2.1.
Type 'yes' to accept this license offer.
Type 'no' to decline this license offer.

Do you accept the terms of either license? yes

Creating qmake. Please wait...
gmake: Nothing to be done for `first'.
floatmath auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o floatmath.o floatmath.cpp
floatmath.cpp:44: warning: unused parameter 'argc'
floatmath.cpp:44: warning: unused parameter 'argv'
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -Wl,-O1 -o floatmath floatmath.o      
floatmath enabled.
mmx auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -mmmx -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o mmx.o mmx.cpp
cc1plus: error: unrecognized command line option "-mmmx"
gmake: *** [mmx.o] Error 1
mmx disabled.
3dnow auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -m3dnow -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o 3dnow.o 3dnow.cpp
cc1plus: error: unrecognized command line option "-m3dnow"
gmake: *** [3dnow.o] Error 1
3dnow disabled.
sse auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -msse -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o sse.o sse.cpp
cc1plus: error: unrecognized command line option "-msse"
gmake: *** [sse.o] Error 1
sse disabled.
sse2 auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -msse2 -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o sse2.o sse2.cpp
cc1plus: error: unrecognized command line option "-msse2"
gmake: *** [sse2.o] Error 1
sse2 disabled.
sse3 auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -msse3 -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o sse3.o sse3.cpp
cc1plus: error: unrecognized command line option "-msse3"
gmake: *** [sse3.o] Error 1
sse3 disabled.
ssse3 auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -mssse3 -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o ssse3.o ssse3.cpp
cc1plus: error: unrecognized command line option "-mssse3"
gmake: *** [ssse3.o] Error 1
ssse3 disabled.
sse4_1 auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -msse4.1 -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o sse4_1.o sse4_1.cpp
cc1plus: error: unrecognized command line option "-msse4.1"
gmake: *** [sse4_1.o] Error 1
sse4_1 disabled.
sse4_2 auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -msse4.2 -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o sse4_2.o sse4_2.cpp
cc1plus: error: unrecognized command line option "-msse4.2"
gmake: *** [sse4_2.o] Error 1
sse4_2 disabled.
avx auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -mavx -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o avx.o avx.cpp
cc1plus: error: unrecognized command line option "-mavx"
gmake: *** [avx.o] Error 1
avx disabled.
neon auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -mfpu=neon -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o neon.o neon.cpp
Assembler messages:
Error: unknown floating point format `neon'

Error: unrecognized option -mfpu=neon
neon.cpp:1: error: invalid floating point option: -mfpu=neon
gmake: *** [neon.o] Error 1
neon disabled.
zlib auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o zlib.o zlib.cpp
zlib.cpp:42:18: error: zlib.h: No such file or directory
zlib.cpp: In function 'int main(int, char**)':
zlib.cpp:46: error: 'z_streamp' was not declared in this scope
zlib.cpp:46: error: expected `;' before 'stream'
zlib.cpp:47: error: 'stream' was not declared in this scope
zlib.cpp:48: error: 'zlibVersion' was not declared in this scope
zlib.cpp:51: error: 'compress2' was not declared in this scope
gmake: *** [zlib.o] Error 1
zlib disabled.
libjpeg auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o libjpeg.o libjpeg.cpp
libjpeg.cpp:45:21: error: jpeglib.h: No such file or directory
libjpeg.cpp: In function 'int main(int, char**)':
libjpeg.cpp:50: error: 'j_compress_ptr' was not declared in this scope
libjpeg.cpp:50: error: expected `;' before 'cinfo'
libjpeg.cpp:51: error: 'cinfo' was not declared in this scope
libjpeg.cpp:51: error: 'jpeg_create_compress' was not declared in this scope
gmake: *** [libjpeg.o] Error 1
libjpeg disabled.
libtiff auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o libtiff.o libtiff.cpp
libtiff.cpp:42:20: error: tiffio.h: No such file or directory
libtiff.cpp:50:6: error: #error "Required libtiff not found"
libtiff.cpp: In function 'int main(int, char**)':
libtiff.cpp:57: error: 'tdata_t' was not declared in this scope
libtiff.cpp:57: error: expected `;' before 'buffer'
libtiff.cpp:58: error: 'buffer' was not declared in this scope
libtiff.cpp:58: error: '_TIFFfree' was not declared in this scope
libtiff.cpp:62: error: 'TIFFReadRGBAImageOriented' was not declared in this scope
gmake: *** [libtiff.o] Error 1
libtiff disabled.
libmng auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o libmng.o libmng.cpp
libmng.cpp:42:20: error: libmng.h: No such file or directory
libmng.cpp:50:2: error: #error System libmng version is less than 1.0.9; using built-in version instead.
libmng.cpp: In function 'int main(int, char**)':
libmng.cpp:46: error: 'mng_handle' was not declared in this scope
libmng.cpp:46: error: expected `;' before 'hMNG'
libmng.cpp:47: error: 'hMNG' was not declared in this scope
libmng.cpp:47: error: 'mng_cleanup' was not declared in this scope
gmake: *** [libmng.o] Error 1
libmng disabled.
libpng auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o libpng.o libpng.cpp
libpng.cpp:42:17: error: png.h: No such file or directory
libpng.cpp:45:4: error: #error "Required libpng version 1.0.17 not found."
libpng.cpp: In function 'int main(int, char**)':
libpng.cpp:50: error: 'png_structp' was not declared in this scope
libpng.cpp:50: error: expected `;' before 'png_ptr'
libpng.cpp:51: error: 'png_ptr' was not declared in this scope
libpng.cpp:51: error: 'PNG_LIBPNG_VER_STRING' was not declared in this scope
libpng.cpp:51: error: 'png_create_read_struct' was not declared in this scope
gmake: *** [libpng.o] Error 1
libpng disabled.
DB2 auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o db2.o db2.cpp
db2.cpp:42:20: error: sqlcli.h: No such file or directory
db2.cpp:43:21: error: sqlcli1.h: No such file or directory
gmake: *** [db2.o] Error 1
DB2 disabled.
InterBase auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o ibase.o ibase.cpp
ibase.cpp:42:19: error: ibase.h: No such file or directory
gmake: *** [ibase.o] Error 1
InterBase disabled.
MySQL (thread-safe) auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o mysql.o ../mysql/mysql.cpp
../mysql/mysql.cpp:42:19: error: mysql.h: No such file or directory
gmake: *** [mysql.o] Error 1
MySQL (thread-safe) disabled.
MySQL (thread-unsafe) auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o mysql.o mysql.cpp
mysql.cpp:42:19: error: mysql.h: No such file or directory
gmake: *** [mysql.o] Error 1
MySQL (thread-unsafe) disabled.
OCI auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o oci.o oci.cpp
oci.cpp:42:17: error: oci.h: No such file or directory
gmake: *** [oci.o] Error 1
OCI disabled.
ODBC auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o odbc.o odbc.cpp
odbc.cpp:45:17: error: sql.h: No such file or directory
odbc.cpp:46:20: error: sqlext.h: No such file or directory
gmake: *** [odbc.o] Error 1
ODBC disabled.
iODBC auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o iodbc.o iodbc.cpp
iodbc.cpp:42:17: error: sql.h: No such file or directory
iodbc.cpp:43:20: error: sqlext.h: No such file or directory
gmake: *** [iodbc.o] Error 1
iODBC disabled.
PostgreSQL auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o psql.o psql.cpp
psql.cpp:42:22: error: libpq-fe.h: No such file or directory
psql.cpp: In function 'int main(int, char**)':
psql.cpp:46: error: 'PQescapeBytea' was not declared in this scope
psql.cpp:47: error: 'PQunescapeBytea' was not declared in this scope
gmake: *** [psql.o] Error 1
PostgreSQL disabled.
SQLite2 auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o sqlite2.o sqlite2.cpp
sqlite2.cpp:42:20: error: sqlite.h: No such file or directory
gmake: *** [sqlite2.o] Error 1
SQLite2 disabled.
unknown SQL driver: sqlite_symbian
TDS auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o tds.o tds.cpp
tds.cpp:42:22: error: sybfront.h: No such file or directory
tds.cpp:43:19: error: sybdb.h: No such file or directory
gmake: *** [tds.o] Error 1
TDS disabled.
NIS auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o nis.o nis.cpp
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -Wl,-O1 -o nis nis.o     -lnsl 
NIS enabled.
Cups auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -o cups.o cups.cpp
cups.cpp:42:23: error: cups/cups.h: No such file or directory
cups.cpp: In function 'int main(int, char**)':
cups.cpp:46: error: 'cups_dest_t' was not declared in this scope
cups.cpp:46: error: 'd' was not declared in this scope
cups.cpp:47: error: 'cupsGetDests' was not declared in this scope
gmake: *** [cups.o] Error 1
Cups disabled.
D-Bus auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -o dbus.o dbus.cpp
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -Wl,-O1 -o dbus dbus.o     -L/lib -ldbus-1 -lpthread -lrt 
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/lib/gcc/arm-none-linux-gnueabi/4.1.2/../../../../arm-none-linux-gnueabi/bin/ld: skipping incompatible /lib/libdbus-1.so when searching for -ldbus-1
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/lib/gcc/arm-none-linux-gnueabi/4.1.2/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -ldbus-1
collect2: ld returned 1 exit status
gmake: *** [dbus] Error 1
D-Bus disabled.
Glib auto-detection... ()
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -c -pipe -O2 -Wall -W  -I../../../mkspecs/qws/linux-arm-imx -I. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -o glib.o glib.cpp
glib.cpp: In function 'int main(int, char**)':
glib.cpp:55: warning: 'pollfd' is used uninitialized in this function
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-g++ -Wl,-O1 -o glib glib.o     -pthread -lgthread-2.0 -lrt -lglib-2.0 
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/lib/gcc/arm-none-linux-gnueabi/4.1.2/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -lgthread-2.0
collect2: ld returned 1 exit status
gmake: *** [glib] Error 1
Glib 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.

安装显然不成功,但我不确定为什么.cpp文件失败。

正如我所说,我是Linux的初学者,在这里没有可用的支持。我意识到帮助一个新手可能非常乏味,但我迷失了这一点,任何帮助将不胜感激。

编辑:应该说我直接试过QT,飞思卡尔等没有运气。没有人?

2 个答案:

答案 0 :(得分:0)

它会停止,因为在工具链中找不到glib。您需要Qt来编译Phonon模块。 Phonon模块http://doc.qt.io/qt-4.8/phonon-overview.html#phonon-overview在Linux上需要gstreamer,而后者又需要glib和libxml2。提供所有必要的库来编译Phonon模块或省略它以继续已经建议的配置测试。

答案 1 :(得分:0)

我建议你使用嵌入式Linux构建系统,它已经知道如何构建Qt和所有必需的依赖项。您将节省大量时间,并且在一天结束时,您将拥有可重现的方法来构建您的系统。

由于我是其开发人员之一,我非常喜欢Buildroot,但还有许多其他构建系统:OpenEmbedded,Yocto,OpenBricks,PTXdist等。