|
19.解压qt-everywhere-opensource-src-4.6.3
在/opt 创建qt-embedded文件夹
修改 /opt/qt-everywhere-opensource-src-4.6.3/mkspecs/qws/linux-arm-g++/qmake.conf
#修改################################qmake.conf#########################################
#
# qmake configuration for building with arm-linux-g++
#
include(../../common/g++.conf)
include(../../common/linux.conf)
include(../../common/qws.conf)
# modifications to g++.conf
QMAKE_CC = arm-linux-gcc
QMAKE_CXX = arm-linux-g++
QMAKE_LINK = arm-linux-g++
QMAKE_LINK_SHLIB = arm-linux-g++
# modifications to linux.conf
QMAKE_AR = arm-linux-ar cqs
QMAKE_OBJCOPY = arm-linux-objcopy
QMAKE_STRIP = arm-linux-strip
QMAKE_INCDIR += /work/cross/rootfs/usr/include
QMAKE_LIBDIR += /work/cross/rootfs/usr/lib
QMAKE_LFLAGS_RELEASE += '-Wl,-rpath-link,/work/cross/rootfs/usr/lib'
load(qt_config)
#修改################################qmake.conf#########################################
cd qt-everywhere-opensource-src-4.6.3
./configure -prefix /opt/qt-embedded -embedded arm -xplatform qws/linux-arm-g++ -fast -force-pkg-config \
-no-opengl -qt-freetype -depths 16,18,24 -little-endian \
-qt-mouse-tslib \
-nomake tools -nomake docs -opensource -confirm-license -no-largefile \
-qt-sql-sqlite -no-qt3support -no-xmlpatterns \
-multimedia -audio-backend -phonon -phonon-backend -svg \
-webkit -no-javascript-jit -script -no-scripttools -no-declarative \
-qt-gif -qt-libtiff -system-libpng -qt-libmng -system-libjpeg -no-openssl \
-system-zlib -no-nis -no-cups -dbus -no-mmx -no-3dnow -no-sse -no-sse2 \
-no-xcursor -no-xfixes -no-xrandr -no-xrender -no-separate-debug-info
make
make install
20.解压zinnia-0.06
cd zinnia-0.06
./configure --host=$ARCH-linux --prefix=/opt/qt-embedded
make
make install
21.解压freetype2-2.4.3(这个用于编译poppler的,因为编译poppler出现问题,所以这个可以不编译)
./configure --host=$ARCH-linux --prefix=$ROOTFS_DIR/usr
make
make install
22.解压fontconfig-2.8.0(这个用于编译poppler的,因为编译poppler出现问题,所以这个可以不编译)
cd fontconfig-2.8.0
./configure CC=arm-linux-gcc --with-arch=$ARCH --with-freetype-config=/work/cross/rootfs/usr/bin/freetype-config --enable-libxml2 --host=$ARCH-linux --prefix=$ROOTFS_DIR/usr make
make install
23.解压poppler-0.14.4(这个用于编译poppler的,因为编译poppler出现问题,所以这个可以不编译)
cd poppler-0.14.4
export POPPLER_QT4_CFLAGS="-I/opt/qt-embedded/include"\
export POPPLER_QT4_LIBS="-L/opt/qt-embedded/lib" \
export POPPLER_QT4_TEST_CFLAGS="-I/opt/qt-embedded/include" \
export POPPLER_QT4_TEST_LIBS="-L/opt/qt-embedded/lib" \
CFLAGS="-I/work/cross/my_root/rootfs/usr/include" \
CXXFLAGS="-I/work/cross/my_root/rootfs/usr/include" \
LDFLAGS="-L/work/cross/my_root/rootfs/usr/lib"\
./configure --host=$ARCH-linux --prefix=/opt/qt-embedded --disable-utils --disable-gtk-test --disable-poppler-qt --disable-gdk --disable-poppler-glib --disable-largefile --disable-libopenjpeg --disable-libpng --disable-splash-output --disable-cairo-output --disable-abiword-output
24.解压qt-mobility-opensource-src-1.0.2
cd qt-mobility-opensource-src-1.0.2
CC=arm-linux-gcc \
CXX=arm-linux-g++ \
AR=arm-linux-ar \
AS=arm-linux-as \
RANLIB=arm-linux-ranlib \
LD=arm-linux-ld \
STRIP=arm-linux-strip \
./configure -prefix /opt/qt-embedded -modules location -examples -release
make
make install
25.解压QSerialDevice_v0.2.0
cd QSerialDevice_v0.2.0
创建qserialdevice.pro
#内容#################################qserialdevice.pro###########################
#
#PROJECT = Serial Device Liblary
TEMPLATE = lib
CONFIG -= debug_and_release debug
QT -= gui
OBJECTS_DIR = ../build/lib/qserialdevice/obj
MOC_DIR = ../build/lib/qserialdevice/moc
include(qserialdevice.pri)
DESTDIR = ../build/lib/qserialdevice/release
TARGET = qserialdevice
VERSION = 0.1.0
#内容#################################qserialdevice.pro######################
cd /opt/QSerialDevice_v0.2.0/qserialdevice
qmake
make
cp -v *.h /opt/qt-embedded/include
cp -vP ../build/lib/qserialdevice/release/* /opt/qt-embedded/lib
26.解压nmealib
cd nmealib
创建一个新的Makefile
#内容##########################nmealib##################################
CC = arm-linux-gcc
BIN = lib/libnmea.a
MODULES = generate generator parse parser tok context time info gmath sentence
SAMPLES = generate generator parse parse_file math
OBJ = $(MODULES:%=build/nmea_gcc/%.o)
LINKOBJ = $(OBJ) $(RES)
SMPLS = $(SAMPLES:%=samples_%)
SMPLOBJ = $(SAMPLES:%=samples/%/main.o)
INCS = -I include
LIBS = -lm -Llib -lnmea
.PHONY: all all-before all-after clean clean-custom doc
all: all-before $(BIN) samples all-after
all-before:
mkdir -p build/nmea_gcc
clean: clean-custom
rm -f $(LINKOBJ) $(BIN) $(SMPLOBJ) $(SMPLS)
doc:
$(MAKE) -C doc
remake: clean all
$(BIN): $(LINKOBJ)
ar rsc $@ $^
ranlib $@
build/nmea_gcc/%.o: src/%.c
$(CC) $(INCS) -c $< -o $@
samples: $(SMPLS)
samples_%: samples/%/main.o
$(CC) $< $(LIBS) -o build/$@
samples/%/main.o: samples/%/main.c
$(CC) $(INCS) -c $< -o $@
#内容##########################nmealib###################################
make
cp -rv include/* /work/cross/rootfs/usr/include
cp -v lib/libnmea.a /work/cross/rootfs/usr/lib
27.解压emd到/opt
export EMD_RUNNING_DIR=/opt/emd/emdesktop-running-environment
qmake
make
cd ..
cp -v wenquanyi/* /opt/qt-embedded/lib/fonts
cp -Rv emdesktop-running-environment /opt
cd emd
把wenquanyi字体拷贝到/opt/qt-embedded/lib/fons里面
把emdesktopclient里面的.so文件全COPY 到/opt/qt-embedded/lib
把emdecoration 里面的.so文件全COPY 到/opt/qt-embedded/plugin/decorations
这样就编译完,最后做文件系统,把emdesktop-running-environment 和qt-embedded复制到文件系统的/opt里,把/work/cross/rootfs/里的usr的内容加入到文件系统的usr里面,
我这里用了天嵌的root_qt_4.5_2.6.30.4_20100601.tar.bz2 的文件系统
删除了/opt/qt-4.5
把原有关qt-4.5的所有文件路径改为qt-embedded。
修改bin/qt4文件的最后那里,把原文件-qws前面的改为./opt/emdesktop-running-environment/emdesktop
重新启动
新桌面出来了 |
|