Build an ARM development environment for Qt Creator in Ubuntu 9.1 (1)

Source: Internet
Author: User

Refer:
Http://www.arm9home.net/read.php? Tid-5161.html
Http://www.arm9home.net/read.php? Tid-5182.html

Http://blog.sina.com.cn/s/blog_6541e78f0100ihoy.html? Retcode = 0

Http://blog.sina.com.cn/s/blog_6541e78f0100ihp3.html? Retcode = 0

Http://hi.baidu.com/jiyeqian/blog/item/f46d26a2ff3f7da6caefd0d6.html

Http://hi.baidu.com/clear water flow /blog/item/9b9ac64bb8b4aaf383025ce0.html

Http://blog.ednchina.com/gurongjiang/352778/Message.aspx

 

(1) install the corresponding library files before compiling QT

Sudo apt-Get install libx11-dev
Sudo apt-Get install libgtkglextmm-x11-dev
Sudo apt-Get install libghc6-x11-dev
Sudo apt-Get install libgl1-mesa-swx11-dev
Sudo apt-Get install Xorg-Dev

(2) download preparation
Qt version: http://qt.nokia.com/downloads-cn

(1) qt-creator-linux-x86-opensource-1.3.1.bin
Http://qt.nokia.com/downloads/qt-creator-binary-for-linux-x11-32-bit
(2)qt-everywhere-opensource-src-4.6.2.tar.gz
Http://qt.nokia.com/downloads/embedded-linux-cpp
(3) arm-linux-gcc-4.1.2
Http://qtextended.org/downloads/toolchains/arm920t-eabi.tgz

Put the downloaded file in/opt/friendlyarm/mini2440, and then execute
Sudo tar xvzf qt-everywhere-opensource-src-4.6.3.tar.gz
And decompress the obtained file copy three, respectively named as qt-x86-4.6.3, qt-x86e-4.6.3, qt-arm-4.6.3, respectively, corresponding to PC, embedded x86, Embedded ARM platform.

 

 

(3) Start Compilation

(1) Compile the PC version:
CD/opt/friendlyarm/mini 24/qt-x86-4.6.3
#./Configure
# Make
# Make install
This process takes a long time

A qvfb simulator is also required for the PC platform. The compilation process is as follows:

CD/opt/friendlyarm/mini 24/qt-x86-4.6.3/tools/qvfb/
# Make
After compilation, copy the qvfb file under the qt-x86-4.6.3/bin directory to the/usr/local/trolltech/QtEmbedded-4.6.2/bin directory.
And add path: Sudu gedit/root/. bashrc to this bin directory.

 

(2) Compile the embedded x86 version:
CD/opt/friendlyarm/mini 24/qt-x86e-4.6.3
#./Configure-embedded x86-QT-GFX-qvfb-QT-KBD-qvfb-QT-mouse-qvfb
# Make
# Make install
This process takes a long time

(3) Compile the Embedded ARM version (ARM-Linux-GCC is required, instead of the GCC 4.4.1 used for the preceding two versions ):
It is slightly different from the above compilation process. First, install arm-Linux-GCC 4.1.2, and second, install tslib.

 

(3-a) install arm-Linux-GCC 4.1.2
It is said that the segmentation fault error occurs after the program compiled by the friendly built-in arm-Linux GCC 4.3.2 is transplanted to the Development Board. So ~ Use arm-Linux GCC 4.1.2 instead.
Place the arm920t-eabi.tgz directly in the root directory unzip: sudo tar xvzf arm920t-eabi.tgz
Add the compiler path to the system environment variable and run the command: gedit/root/. bashrc.
Edit the/root/. bashrc file and add export Path =/opt/toolchains/arm920t-eabi/bin: $ path to the last line

 

(3-B) install tslib

There is another episode here. FirstTslib1.4.tar.gz is hard to find. Later, I spent four minutes downloading a package on csdn. Second, I downloaded the autogen package. the sh script requires "autotools", that is, Autoconf, automake, and libtool. It takes me nearly two hours to install these three tools ,,,

Compile tslib to support touch screen:
Download
Tslib1.4.tar.gz is still stored in/opt/friendlyarm/mini2440/. decompress the package and enter the directory. If no configure file exists in the directory, run the autogen. Sh script to generate the file.
#./Configure -- prefix =/usr/local/tslib/-- Host = arm-Linux ac_cv_func_malloc_0_nonnull = Yes
# Make
# Make install

Set environment variables so that relevant libraries can be found during compilation:
# Export cplus_include_path =/opt/toolchains/arm920t-eabi/ARM-Angstrom-Linux-gnueabi/include/C ++: /opt/toolchains/arm920t-eabi/ARM-Angstrom-Linux-gnueabi/include/C ++/ARM-None-Linux-gnueabi
# Export Path =/opt/toolchains/arm920t-eabi/bin: $ path

 

Modify the qt-everywhere-opensource-src-4.6.2/mkspecs/qws/Linux-arm-G ++/qmake. conf file (add the LTS parameter ):
Qmake_cc = arm-Linux-gcc-lts
Qmake_cxx = arm-Linux-G ++-lts
Qmake_link = arm-Linux-G ++-lts
Qmake_link_shlib = arm-Linux-G ++-lts

 

The two Green steps above can be omitted.

 

(3-C) execute configure to generate the MAKEFILE file. The parameters are long. You can cut QT according to your own needs:
./Configure/
-Prefix/usr/local/trolltech/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-SQL-SQLite/
-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-phonon/
-No-NIS/
-No-OpenGL/
-No-cups/
-No-glib/
-No-xcursor-no-xfixes-no-xrandroid-no-xrender/
-No-separate-debug-info/
-Nomake examples-nomake tools-nomake docs/
-QT-mouse-tslib-I/usr/local/tslib/include-L/usr/local/tslib/lib

 


Note: Red is the configuration supported by the touch screen.

-I/opt/tslib-install/include: Path of the compiled header file

-L/opt/tslib-install/lib: library file path compiled

The preceding directories and files are generated during the tslib compilation process in the previous steps.

 


PS: For configuration parameters, refer to http://www.cuteqt.com/blog? P = 582, or use configure-embedded-help to view.

 

 

 

 

Then make, make install ,,,,,,,,,,,,,,,,,

After installation is complete, there are three folders in the/usr/local/trolltech Directory: Qt-4.6.2, QtEmbedded-4.6.2, QtEmbedded-4.6.2-arm.

 

 

(4) transplantation, This step has not been done yet, basically copied

Mini2440 started through NFS. For more information, see 5.5.3 in the friendlyarm2010 manual.

Copy all files in ubuntu9.10/usr/local/trolltech/QtEmbedded-4.6.2-arm/lib to the/opt/friendlyarm/mini2440/root_qtopia/usr/local/trolltech/QtEmbedded-4.6.2-arm/lib directory, the size of this database can be tailored,

Copy the library in/usr/local/tslib on ubuntu9.10 to/opt/friendlyarm/mini2440/root_qtopia/usr/local. Copy all files under/usr/local/tslib to the/opt/friendlyarm/mini2440/root_qtopia/usr/local folder.

 

 

 

 

If other libraries are missing at runtime, the replication method is the same. You can also run the "arm-Angstrom-Linux-gnueabi-readelf-a program name | grep" share "command to check which shared libraries are required and copy them together.

To support touch screen, set the environment variable automatically at startup. append the following value to/etc/profile in 2440: Export LD_LIBRARY_PATH =/usr/local/lib: $ qtdir/lib: $ export tslib_root =/usr/local/lib export tslib_tsdevice =/dev/input/event0export tslib_fbdevice =/dev/fb0 export =/usr/local/lib/tsexport tslib_consoledevice = noneexport tslib_conffile =/usr/local/etc/ts. confexport pointercal_file =/etc/pointercalexport tslib_calibfile =/etc/pointercalexport qws_mouse_proto = tslib:/dev/input/event0
Cancel the first comment in/usr/local/etc/ts. conf: # module_raw Input
Start micro2440 to run/usr/local/bin/ts_calibrate correction touch screen.
Now the transplantation of qt4.6.2 has come to an end. If you run the program compiled by qt4.6.2-arm on the Development Board, "relocation error: /usr/local/trolltech/QtEmbedded-4.6.2-arm/lib/libqtgui. so.4: Symbol powf, version glibcxx_3.4 not defined in file libstdc ++. so.6 with link time reference "error.

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.