以前接触MiniGUI近2年的时间,也没有做过MiniGUI的移植工作,近日利用调研的机会,对MiniGUI进行了一下在9G45平台的移植工作。简单记录如下。
export TOOLCHAIN=${HOME}/usr/toolchain/arm-2008q1/arm-none-linux-anueabi export CC=arm-none-linux-gnueabi-gcc export CXX=arm-none-linux-gnueabi-g++ export AS=arm-none-linux-gnueabi-as export LD=arm-none-linux-gnueabi-ld export CFLAGS="-I. -I${TOOLCHAIN}/include/c++/4.2.3" export LDFLAGS="-L${TOOLCHAIN}/lib -L${TOOLCHAIN}/libc" ./configure --prefix=${HOME}/tmp/crosscomplie \ --shared \ && make && sudo make install && echo "Make successful."
export TOOLCHAIN=${HOME}/usr/toolchain/arm-2008q1/arm-none-linux-anueabi export INSTALL_DIR=${HOME}/tmp/crosscompile export CC=arm-none-linux-gnueabi-gcc export CXX=arm-none-linux-gnueabi-g++ export AS=arm-none-linux-gnueabi-as export LD=arm-none-linux-gnueabi-ld export CFLAGS="-I. -I${TOOLCHAIN}/include/c++/4.2.3 -I${INSTALL_DIR}/include" export LDFLAGS="-L${TOOLCHAIN}/lib -L${TOOLCHAIN}/libc -L${TOOLCHAIN}/libc/lib -L${INSTALL_DIR}/lib" export LIBS="-lm -lz" ./configure --build=i686-pc-linux-gnu --host=arm-none-linux-gnueabi \ --target=arm-none-linux-gnueabi --prefix=${HOME}/tmp/crosscomplie \ && make && make install && echo "Make successful."
export TOOLCHAIN=${HOME}/usr/toolchain/arm-2008q1/arm-none-linux-anueabi export INSTALL_DIR=${HOME}/tmp/crosscompile export CC=arm-none-linux-gnueabi-gcc export CXX=arm-none-linux-gnueabi-g++ export AS=arm-none-linux-gnueabi-as export LD=arm-none-linux-gnueabi-ld export CFLAGS="-I. -I${TOOLCHAIN}/include/c++/4.2.3 -I${INSTALL_DIR}/include" export LDFLAGS="-L${TOOLCHAIN}/lib -L${TOOLCHAIN}/libc -L${TOOLCHAIN}/libc/lib -L${INSTALL_DIR}/lib" export LIBS="-lm -lz" ./configure --build=i686-pc-linux-gnu --host=arm-none-linux-gnueabi \ --target=arm-none-linux-gnueabi --prefix=${HOME}/tmp/crosscomplie \ && make && make install && echo "Make successful."
export TOOLCHAIN=${HOME}/usr/toolchain/arm-2008q1/arm-none-linux-anueabi export CC=arm-none-linux-gnueabi-gcc export CXX=arm-none-linux-gnueabi-g++ export AS=arm-none-linux-gnueabi-as export LD=arm-none-linux-gnueabi-ld export CFLAGS="-I. -I${TOOLCHAIN}/include/c++/4.2.3" export LDFLAGS="-L${TOOLCHAIN}/lib -L${TOOLCHAIN}/libc" ./configure --build=i686-pc-linux-gnu --host=arm-none-linux-gnueabi \ --target=arm-none-linux-gnueabi --prefix=${HOME}/tmp/crosscomplie \ --enable-shared \ && make && make install && echo "Make successful."
export TOOLCHAIN=${HOME}/usr/toolchain/arm-2008q1/arm-none-linux-anueabi export CC=arm-none-linux-gnueabi-gcc export CXX=arm-none-linux-gnueabi-g++ export AS=arm-none-linux-gnueabi-as export LD=arm-none-linux-gnueabi-ld export CFLAGS="-I. -I${TOOLCHAIN}/include/c++/4.2.3" export LDFLAGS="-L${TOOLCHAIN}/lib -L${TOOLCHAIN}/libc" ./configure --build=i686-pc-linux-gnu --host=arm-none-linux-gnueabi \ --target=arm-none-linux-gnueabi --prefix=${HOME}/tmp/crosscomplie \ --enable-static \ && make && make install && echo "Make successful."
export TOOLCHAIN=${HOME}/usr/toolchain/arm-2008q1/arm-none-linux-anueabi export INSTALL_DIR=${HOME}tmp/crosscompile export CC=arm-none-linux-gnueabi-gcc export CXX=arm-none-linux-gnueabi-g++ export AS=arm-none-linux-gnueabi-as export LD=arm-none-linux-gnueabi-ld export CFLAGS="-I. -I./include -I${TOOLCHAIN}/include/c++/4.2.3 -I${INSTALL_DIR}/include -I${TOOLCHAIN}/libc/usr/include -I${INSTALL _DIR}/include/ts" export LDFLAGS="-L${TOOLCHAIN}/lib -L${TOOLCHAIN}/libc -L${TOOLCHAIN}/libc/lib -L${INSTALL_DIR}/lib" export LIBS="-lm -lz -ldl -lpthread -lpng -ljpeg -lfreetype -lts" ./configure --build=i686-pc-linux-gnu --host=arm-none-linux-gnueabi \ --target=arm-none-linux-gnueabi --prefix=${HOME}/tmp/crosscomplie \ --enable-tslibial --enable-videofbcon \ --enable-splash=no --enable-screensaver=no \ && make && make install && echo "Make successful."
export TOOLCHAIN=${HOME}/usr/toolchain/arm-2008q1/arm-none-linux-anueabi export INSTALL_DIR=${HOME}/tmp/crosscompile export CC=arm-none-linux-gnueabi-gcc export CXX=arm-none-linux-gnueabi-g++ export AS=arm-none-linux-gnueabi-as export LD=arm-none-linux-gnueabi-ld export CFLAGS="-I. -I./include -I${TOOLCHAIN}/include/c++/4.2.3 -I${INSTALL_DIR}/include -I${TOOLCHAIN}/libc/usr/include -I${INSTALL _DIR}/include/ts" export LDFLAGS="-L${TOOLCHAIN}/lib -L${TOOLCHAIN}/libc -L${TOOLCHAIN}/libc/lib -L${INSTALL_DIR}/lib" export LIBS="-lm -lpthread -lpng -ljpeg -lfreetype -lts" ./configure --build=i686-pc-linux-gnu --host=arm-none-linux-gnueabi \ --target=arm-none-linux-gnueabi --prefix=${HOME}/tmp/crosscomplie \ && make && make install && echo "Make successful."
export TOOLCHAIN=${HOME}/usr/toolchain/arm-2008q1/arm-none-linux-anueabi export INSTALL_DIR=${HOME}/tmp/crosscompile export CC=arm-none-linux-gnueabi-gcc export CXX=arm-none-linux-gnueabi-g++ export AS=arm-none-linux-gnueabi-as export LD=arm-none-linux-gnueabi-ld export CFLAGS="-I. -I./include -I${TOOLCHAIN}/include/c++/4.2.3 -I${INSTALL_DIR}/include -I${TOOLCHAIN}/libc/usr/include" export CXXFLAGS="-I. -I./include -I${TOOLCHAIN}/include/c++/4.2.3 -I${INSTALL_DIR}/include -I${TOOLCHAIN}/libc/usr/include" export LDFLAGS="-L${TOOLCHAIN}/lib -L${TOOLCHAIN}/libc -L${TOOLCHAIN}/libc/lib -L${INSTALL_DIR}/lib" export LIBS="-lpng -ljpeg -lz -lpthread -ldl -lts -lfreetype -lminigui_ths" export MINIGUI_CFLAGS="-I${INSTALL_DIR}/include" export MINIGUI_LIBS="-lminigui_ths" ./configure --build=i686-pc-linux-gnu --host=arm-none-linux-gnueabi \ --target=arm-none-linux-gnueabi --prefix=${HOME}/tmp/crosscomplie \ && make && make install && echo "Make successful."
export TOOLCHAIN=${HOME}/usr/toolchain/arm-2008q1/arm-none-linux-anueabi export INSTALL_DIR=${HOME}/tmp/crosscompile export CC=arm-none-linux-gnueabi-gcc export CXX=arm-none-linux-gnueabi-g++ export AS=arm-none-linux-gnueabi-as export LD=arm-none-linux-gnueabi-ld export CFLAGS="-I. -I./include -I${TOOLCHAIN}/include/c++/4.2.3 -I${INSTALL_DIR}/include -I${TOOLCHAIN}/libc/usr/include -I${INSTALL _DIR}/include/minigui" export LDFLAGS="-L${TOOLCHAIN}/lib -L${TOOLCHAIN}/libc -L${TOOLCHAIN}/libc/lib -L${INSTALL_DIR}/lib" export LIBS="-lpng -ljpeg -lz -lpthread -lts -ldl -lfreetype -lminigui_ths" export MINIGUI_CFLAGS="-I${INSTALL_DIR}/include/minigui" export MINIGUI_LIBS="-L${INSTALL_DIR}/lib" ./configure --build=i686-pc-linux-gnu --host=arm-none-linux-gnueabi \ --target=arm-none-linux-gnueabi --prefix=${HOME}/tmp/crosscomplie \ && make && make install && echo "Make successful."
export TOOLCHAIN=${HOME}/usr/toolchain/arm-2008q1/arm-none-linux-anueabi export INSTALL_DIR=${HOME}/tmp/crosscompile export CC=arm-none-linux-gnueabi-gcc export CXX=arm-none-linux-gnueabi-g++ export AS=arm-none-linux-gnueabi-as export LD=arm-none-linux-gnueabi-ld export CFLAGS="-I. -I./include -I${TOOLCHAIN}/include/c++/4.2.3 -I${INSTALL_DIR}/include -I${TOOLCHAIN}/libc/usr/include -I${INSTALL _DIR}/include/minigui" export LDFLAGS="-L${TOOLCHAIN}/lib -L${TOOLCHAIN}/libc -L${TOOLCHAIN}/libc/lib -L${INSTALL_DIR}/lib" export LIBS="-lpng -ldl -lpthread -lts -ljpeg -lz -lfreetype -lminigui_ths" export MINIGUI_CFLAGS="-I${INSTALL_DIR}/include/minigui" export MINIGUI_LIBS="-L${INSTALL_DIR}/lib" ./configure --build=i686-pc-linux-gnu --host=arm-none-linux-gnueabi \ --target=arm-none-linux-gnueabi --prefix=${HOME}/tmp/crosscomplie \ && make && make install && echo "Make successful."
export TSLIB_PLUGINDIR=/usr/local/lib/ts export TSLIB_CONFFILE=/etc/ts.conf</span>两个环境变量,才能够直接查找到。
# GAL engine and default options gal_engine=fbcon defaultmode=800x480-16bpp # IAL engine ial_engine=tslib mdev=/dev/input/event0 [fbcon] defaultmode=800x480-16bpp [cursorinfo] # Edit following line to specify cursor files path cursorpath=/usr/local/share/minigui/res/cursor/ [resinfo] respath=/usr/local/share/minigui/res/