Recently, in ubuntu9.10, the cross compiler arm-linux-gcc-4.4.1 is used to port qtopia2.2.0 to the initi6410 platform.
/Xxx ×××××××××××××××××××××××××××××××××××××/
/Usr/local/ARM/4.4.1/bin /.. /lib/GCC/ARM-None-Linux-gnueabi/4.4.1 /.. /.. /.. /.. /ARM-None-Linux-gnueabi/bin/ld: cannot find-lqte
Collect2: LD returned 1 exit status
Make [5]: *** [../lib/libqpe. so.1.5.3] Error 1
Make [5]: Leaving directory '/root/Yizhi/qtopia-free-2.2.0/qtopia/src/libraries/qtopia'
Make [4]: *** [all] Error 2
/Xxx ×××××××××××××××××××××××××××××××××××/
This error message, carefully check the error information, found in the qtopia-free-2.2.0/qt2/lib directory does not form the QTE library, which shows that when compiling the qt2 directory file, A problem occurs, that is, the QTE has not been compiled successfully, because only successfully compiled QTE can continue to compile qtopia.
In this case, we can find out why the QTE has not been compiled successfully?
Fortunately, when the make command is written in the build compilation script, the print information is written to the log file qtopia2.2.0makelog.
My build script file is as follows:
/Xxx ××××××××××××××××××××××××××××××××/
CD qtopia-free-2.2.0
# Set complie environment variable
Export qtdir =/root/yizhi/ qtopia-free-2.2.0/qt2
Export qpedir =/root/yizhi/ qtopia-free-2.2.0/qtopia
Export LD_LIBRARY_PATH = $ qtdir/lib: $ qpedir/lib: $ LD_LIBRARY_PATH
Export tmakedir =/root/Yizhi/qtopia-free-2.2.0/tmake
Export tmakepath = $ tmakedir/lib/qws/Linux-arm-G ++
Export Path =/usr/local/ARM/4.4.1/bin: $ path
# Mkdir/root/Yizhi/qtopia
Echo Yes |. /configure-qte'-embedded-no-xft-qconfig qpe-Depths 16, 32-system-JPEG-QT-zlib-QT-libpng-GIF-no-G ++-exceptions- no-qvfb-xplatform Linux-arm-G ++-tslib-I/usr/local/tslib/include-L/usr/local/tslib '-qpe' edition PDA -displaysize 480X272-fontfamilies "Helvetica fixed micro smallsmooth smoothtimes uniont"-xplatform Linux-arm-G ++-luuid '-qt2'-No-OpenGL-no-xft '- dqt '-No-xft-thread'
Make 2> & 1 | Tee ../qtopia2.2.0makelog & make install
/Xxx ××××××××××××××××××××××××××××××××/
OpenQtopia2.2.0makelog file, CTRL + FWhen the Search dialog box appears, enter the keyword "error", and an unsolved error message exists in the upper part of the file.
Finally, I found the cause. It turns out that the system header file ASM/page. H is missing,
Solution:
Gedit./qtopia-free-2.2.0/qt2/src/kernel/qpixmapcache. cpp
Modify 125th Behaviors
That is:
# Define page_shift 12
# Define page_size (1ul <page_shift)
# Define page_mask (~ (PAGE_SIZE-1 ))
// # Include <ASM/page. h> // page_size, page_mask, page_align
The reason is that the new kernel does not contain this header file.
This header file is also used elsewhere and needs to be removed.
Gedit./qtopia-free-2.2.0/qt2/tools/qvfb/qvfbview. cpp
Move to row 39th and change
It defines some Macros in the ASM/page. h file. The ASM/page. h file is not required here.
After a problem occurs, you can carefully and carefully find and solve the problem. After all, the problem will be compiled.