After entering the decompressed source code package, you can use the./configure-HELP command to obtain the corresponding help. You only need to select the parameter to see.
-Release
This parameter is obvious, that is, to compile Qt in the release mode. Generally, after the system is completed, the library should be the release version.
-Release
In contrast to the above, it is a debugging version. If it is developed, you can choose it.
-Debug-and-release
Hey, the two sons above.
-Developer-build
Sorry, I am wrong. developers can also use this. After selecting this option, they can perform automatic testing. However, they have not used it yet and will be able to study it later.
-Opensource
-Commercial
The two parameters refer to whether the compilation is a commercial version or an open-source version, depending on your personal situation.
-Shared
-Static
These two parameters refer to the dynamic or static compilation of QT Lib, which naturally depends on personal needs.
-No-fast
-Fast
These two are very related. If you have confidence in your computer performance, select the first one. All the engineering files will be generated into makefiles. The compilation time is, it is estimated that you can finish watching transformers. If you select the second one, add sub-directories and libraries to makefiles to speed up compilation.
-No-largefile
-Largefile
As the name suggests, it does not support large files. In general, there will be no large files larger than 4G in the embedded system, so choose the first file.
-No-Exceptions
-Exceptions
Anyone who has good computer English can understand it. This is naturally an exception. The Compiler supports throwing an exception. Otherwise, it is not supported.
-No-Accessibility
-Accessibility
To be honest, I don't know what is useful. If you find it someday, Let's explain it again.
-No-STL
-STL
It is added to the support of STL. STL should be understood by C ++ programmers. I have heard of it before.
No-SQL-<driver>
-QT-SQL-<driver>
-Plugin-SQL-<driver>
In general, databases are essential for a good project development. QT also comes with a majority of database drivers, which can perfectly support the use of databases. For database usage, we can directly compile the QT driver or compile it as a plug-in. In general, the simplest way is to directly compile the plug-in, but the plug-in form can be more flexible, to add the driver plug-in for different needs. <> Indicates the driver name. If you want to directly add SQLite support, the format is as follows:-QT-SQL-SQLite. For other names, you can view the parameters in detail.
-System-SQLite
SQLite is really popular. Of course, I basically use it for development for excellent embedded databases. This parameter means to use the SQLite database on the operating system. If it is not portable, you can directly use the built-in driver of QT.
No-qt3support
-Qt3support
This is also concise and easy to understand, and does not support qt3.
No-xmlpatterns
-Xmlpatterns
Select XML support. If there is no need for the network, you do not need to add it.
-No-phonon
-Phonon
Phonon is a multimedia processing module in QT. For example, if you want to play a video, you have never used it before. It is also selected as needed.
-No-phonon-backend
-Phonon-backend
Similar to the above, but these two are added as plug-ins.
-No-SVG
-SVG
Whether to add the support of SVG to scale the vector image.
-No-WebKit
-WebKit
Whether to add support for WebKit is a good thing, but it is not supported if it is not in line with the network.
-No-scripttools
-Scripttools
Whether to add support for the script tool is a great parameter for PHP and other script engineers, but I should not mention it for me.
-Platform target
This is the key to the target platform. If you don't pay attention to it, if it is compiled on x86, even a good embedded engineer will not be able to help you port it to the Development Board. Generally, I am Linux-arm-G ++.
-No-MMX
No-3dnow
-No-SSE
No-sse2
These four parameters are for the CPU instruction set. To be honest, I do not know much about them. However, they do not have a great impact on development.
-Qtnamespace
It is useless to encapsulate QT libraries into namespaces.
-Qtlibinfix
Renaming all the. So libraries of QT is useless.
-No-SQL-<driver>
-QT-SQL-<driver>
-Plugin-SQL-<driver>
-System-SQLite
This is quite obvious. If you cannot see it, then you must be nearsighted (I am 800 degrees nearsighted ..)
That is to say, if it is-no-XX-, it indicates that this parameter is not selected during compilation. For example, if it is-QT-XX-, we can directly choose the built-in driver of QT for compilation, if it is-plugin-XX-, the driver is compiled in the form of a plug-in, and-system-xxx, of course, uses the driver provided by the operating system, but you need to port it yourself, in addition, third-party APIs are sometimes used, which is very troublesome, but it is not ruled out that you are a cool man to have a good time.
Next, we will study the configuration parameters.
-QT-zlib
-System-zlib
According to the above explanation, the parameter meaning is quickly known, that is, to select the zlib library of QT or the zlib of the system. The zlib library is used to compress files and data. It may not be very useful for new embedded users. However, in future development, especially for Multimedia Image engineers, it must be used, because image compression must be used or involved in this library.
-No-GIF
-QT-GIF
This is the support for GIF. If QT is selected, GIF images can be displayed in projects developed using QT. gif is also a common image format.Graphics Interchange Format.
-No-LibTIFF
-QT-LibTIFF
-System-LibTIFF
Tiff is a very complex grating image format and has a ready-made C language implementation library. Therefore, QT and system are available when selecting parameters. Generally, scientific development may be used.
-No-libpng
-QT-libpng
-System-libpng
Relevant Parameters of PNG, a non-distortion compressed bitmap image file format, are actually made to replace GIF, and also selected as needed. Of course, there are also libraries implemented in C language.
-No-libmng
-QT-libmng
-System-libmng
Great sweat, great sweat, this is a very rare thing, QT can even support, to be honest, this parameter I seem to be ignoring. MNG is a multi-frame PNG animation format. The structure is extremely complex and is rarely used.
-No-libjpeg
-QT-libjpeg
-System-libjpeg
JPEG is not required for such a famous image format. You can select it as needed.
-No-OpenSSL
-OpenSSL
-OpenSSL-linked
SSL and securitysocketlayer are secure transmission protocols for data protection and identity validation on the Internet. OpenSSL is an open-source software package that implements SSL and related encryption technologies, in QT, we can select direct support or OpenSSL link support. This parameter is also provided for users.
The above is the parameter selection of the third-party library, followed by the QT additional parameters. In the additional parameters, we can specify the Compilation part and add parameters to obtain information.
-Make
-Nomake
In a word, it means that I can select which of the two parameters I want to compile and which I don't need. You can choose among libs tools examples demos docstranslations, such as examples, which is not important, you can put it in-nomake, so that this part will not be compiled during the compilation process. Through proper selection, we can greatly speed up compilation, which is of positive significance for machines with poor configuration.
-R <string>
-L <string>
These two parameters Add a library runtime path and header file path during compilation. For example, when tslib is used as the development touch driver, we should use these two parameters to specify the library path and header file path of tslib.
-No-rpath
-Rpath
This parameter is hard to understand. Simply put, it is to tell the dynamic loader to find the dynamic link library required for compilation in the directory specified by-rpath. The syntax is combined with the above parameters, for example,-rpath-r/home/xxxx.
-Continue
This parameter is used to compile the configuration when an error occurs. I will not add this parameter.
-Verbose,-V
This parameter is very familiar. It has been described in detail in the previous article. In short, it shows the details of each step of the configuration.
-No-optimized-qmake
-Optimized-qmake
Whether to compile and generate optimized qmake. It is useless and optional.
-No-NIS
-NIS
Whether to compile NIS support. NIS (Network Information Service) is an RPC (Remote process call) application service that provides directory services. Of course, if you do not need it, you can ignore it again.
-No-cups
-Cups
Are you sure you want to compile cups support ?~~~~ Workshop, used to open a print shop. Well, cups provides Unix/Linux users with a reliable and effective way to manage printing. It supports IPP and provides interfaces such as LPD and SMB (Service Message blocks, such as printers configured for Microsoft Windows) and jetdirect. Cups can also browse network printers. Its development provider is apple, a famous "fruit manufacturer.
-No-iconv
-Iconv
Select whether to compile iconv support. iconv is the name of a computer program and a set of application programming interfaces. It is used to convert text internal codes between multiple international encoding formats. This is very useful for cross-language QT developers. Of course, considering the Chinese encoding, I also chose to add support.
-No-PCH
-PCH
Whether pre-compiled header files are supported. The pre-compilation header is to pre-compile part of the code in a project and put it in a file (usually with the. PCH Extension). This file is called the pre-compilation header file. These pre-compiled codes will not be changed frequently during project development. If the code is modified, re-compile the pre-compiled header file. Mom often says: Learning is required if you don't understand it. I said: If you don't understand it, add...
No-Timeout
-Timeout
-Encrypted-linked
Whether to compile the qtdbus module. Ghost is an open-source Linux IPC communication mechanism under freedesktop. Its own Linux IPC communication mechanisms include pipelines (FIFO), shared memory, semaphores, message queues, and sockets. In QT, attention has a separate module, showing its importance.
-Reduce-relocations: the optimization of additional library linker can reduce the re-locating during compilation.
No-separate-debug-Info
-Separate-debug-Info
Whether to store the debug information in. Debug. Generally, you can choose to store the information for troubleshooting.
-Xplatform target
A fairly simple parameter, that is, the cross-compilation target platform, is generally determined based on the target board you want to transplant.
-No-feature-<feature>
-Feature-<feature>
Select the feature compilation of QTE. For this, I understand it as a feature. For the feature description, See src/corelib/global/qfeatures.txt, each feature is fully explained here. The selection of features is also based on the development needs. If the cropping is appropriate, the QTE library can be reduced greatly.
-Embedded <arch>
For embedded platform architecture selection, you can select arm, MIPS, x86, and generic, depending on your target platform.
-Armfpa
-No-armfpa
This parameter is only for the ARM platform and is supported by the ARM-based floating point number format. Generally, this parameter is automatically selected during compilation.
-Little-Endian
-Big-Endian
It should be common sense to select the big end and small end of the target platform. If you do not know this, do not mix embedded systems.
-Host-little-Endian
-Host-big-endia
The big-end and small-end selection of the host platform is a chicken-rib parameter. If this parameter is not selected, it is automatically selected during configuration.
-No-FreeType
-QT-FreeType
-System-FreeType
Choose FreeType. The FreeType library is a completely free (open-source) high-quality and portable font engine. It provides a unified interface to access multiple font format files. In embedded development, A set of usable fonts is crucial for Chinese development. I generally use the wenquanyi font.
-Qconfig local
Use the local qconfig configuration file to replace all parameter configurations. If necessary, you can study and crop control-level parameters.
-Depths <list>
The pixel depth is displayed as needed.
-QT-Decoration-<style>
-Plugin-Decoration-<style>
-No-Decoration-<style>
This is the style of QT. For projects that need to beautify the interface, you can make a good choice.
-No-OpenGL
-OpenGL <API>
Add OpenGL support,OpenGLIt is a professional 3D program interface and is a powerful underlying 3D graphics library with convenient calling. However, for general development, there seems to be few places to use.
-QT-GFX-<driver>
-Plugin-GFX-<driver>
-No-GFX-<driver>
This is a very important parameter. Select the graphics display driver of qtgui. For example, when we use qvfb simulation on a PC, we should add support for objective VB. You can select among linuxfb, transformed, qvfb, VNC, and multiscreen. On the usual Development Board, select linuxfb.
-QT-KBD-<driver>
-Plugin-KBD-<driver>
-No-KBD-<driver>
Select the driver support for the keyboard, which can be a USB keyboard or serial port keyboard. You can also select it from tty, USB, sl5000, yopy, vr41xx, and qvfb.
Qt-mouse-<driver>
-Plugin-mouse-<driver>
-No-mouse-<driver>
Generally, you can select tslib to support the mouse driver. You can select tslib in PC, bus, linuxtp, yopy, vr41xx, tslib, and qvfb.
-Iwmmxt
The compilation of iwmmxt commands is only available in some XScale architectures.
-No-glib
-Glib
Whether to add the support for the glib library. The glib library corresponds to the GTK library, that is, you can use GTK after adding it.