Usage: configure [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
[-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-importdir <dir>] [-datadir <dir>]
[-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>]
[-demosdir <dir>] [-buildkey <key>] [-release] [-debug]
[-debug-and-release] [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile]
[-largefile] [-no-exceptions] [-exceptions] [-no-accessibility]
[-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
[-plugin-sql-<driver>] [-system-sqlite] [-no-qt3support] [-qt3support]
[-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
[-qt-zlib] [-system-zlib] [-no-gif] [-no-libtiff] [-qt-libtiff] [-system-libtiff]
[-no-libpng] [-qt-libpng] [-system-libpng] [-no-libmng] [-qt-libmng]
[-system-libmng] [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
[-nomake <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
[-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
[-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui]
[-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
[-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon]
[-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info] [-armfpa]
[-no-optimized-qmake] [-optimized-qmake] [-no-xmlpatterns] [-xmlpatterns]
[-no-multimedia] [-multimedia] [-no-phonon] [-phonon] [-no-phonon-backend] [-phonon-backend]
[-no-media-backend] [-media-backend] [-no-audio-backend] [-audio-backend]
[-no-openssl] [-openssl] [-openssl-linked]
[-no-gtkstyle] [-gtkstyle] [-no-svg] [-svg] [-no-webkit] [-webkit] [-webkit-debug]
[-no-javascript-jit] [-javascript-jit]
[-no-script] [-script] [-no-scripttools] [-scripttools]
[-no-declarative] [-declarative] [-no-declarative-debug] [-declarative-debug]
[additional platform specific options (see below)]
安裝選項:
Installation options:
-qpa [name] ......... This will enable the QPA build.
QPA is a window system agnostic implementation of Qt.
If [name] is given, sets the default QPA platform (e.g xcb, cocoa).
These are optional, but you may specify install directories.
-prefix <dir> ...... This will install everything relative to <dir>
(default /usr/local/Trolltech/Qt-4.8.6)
* -prefix-install .... Force a sandboxed "local" installation of
Qt. This will install into
/usr/local/Trolltech/Qt-4.8.6, if this option is
disabled then some platforms will attempt a
"system" install by placing default values
in a system location other than PREFIX.
You may use these to separate different parts of the install:
-bindir <dir> ......... Executables will be installed to <dir>
(default PREFIX/bin)
-libdir <dir> ......... Libraries will be installed to <dir>
(default PREFIX/lib)
-docdir <dir> ......... Documentation will be installed to <dir>
(default PREFIX/doc)
-headerdir <dir> ...... Headers will be installed to <dir>
(default PREFIX/include)
-plugindir <dir> ...... Plugins will be installed to <dir>
(default PREFIX/plugins)
-importdir <dir> ...... ImportsforQML will be installed to <dir>
(default PREFIX/imports)
-datadir <dir> ........ Data used by Qt programs will be installed to <dir>
(default PREFIX)
-translationdir <dir> . Translations of Qt programs will be installed to <dir>
(default PREFIX/translations)
-sysconfdir <dir> ..... Settings used by Qt programs will be looked forin <dir>
(default PREFIX/etc/settings)
-examplesdir <dir> .... Examples will be installed to <dir>
(default PREFIX/examples)
-demosdir <dir> ....... Demos will be installed to <dir>
(default PREFIX/demos)
You may use these options to turn on strict plugin loading.
-buildkey <key> .... Build the Qt library and plugins using the specified
<key>. When the library loads plugins, it will only
load those that have a matching key.
Configure options:
The defaults (*) are usually acceptable. A plus (+) denotes a default value
that needs to be evaluated. If the evaluation succeeds, the feature is
included. Here is a short explanation of each option:
(*)是默認選擇的,(+)的選擇需要根據評估來判斷
* -release ........... Compile and link Qt with debugging turned off. 編譯優化關,開發的時候不會進行優化
-debug ............. Compileand link Qt with debugging turned on. 編譯優化開,發佈軟件的時候需要使用此項
-debug-and-release . Compileand link two versions of Qt, with and without
debugging turned on (Mac only).
-developer-build ... Compileand link Qt with Qt developer options (including auto-tests exporting)
-opensource ........ Compileand link the Open-SourceEdition of Qt. 以開源方式發佈
-commercial ........ Compileand link the CommercialEdition of Qt. 以商業形式發佈
* -shared ............ Create and use shared Qt libraries.
創建使用動態共享庫
-static ............ Createand use static Qt libraries.
創建使用靜態庫
* -no-fast ........... Configure Qt normally by generating Makefiles for all project files.
使用通常的Makefile進行編譯
-fast .............. ConfigureQt quickly by generating Makefiles only for library and subdirectory targets. All other Makefiles are created as wrappers, which will in turn run qmake.
快速編譯,除了必要的庫,其他的步驟省略或者快速編譯
-no-largefile ...... Disables large file support.
不支持大文件
+ -largefile ......... Enables Qt to access files larger than 4 GB.
支持大文件
* -no-system-proxies . Do not use system network proxies by default.
-system-proxies .... Use system network proxies by default.
-no-exceptions ..... Disable exceptions on compilers that support it.
* -exceptions ........ Enable exceptions on compilers that support it.
-no-accessibility .. Donot compile Accessibility support.
* -accessibility ..... Compile Accessibility support.
-no-stl ............ Donot compile STL support.
* -stl ............... Compile STL support.
編譯STL支持
-no-sql-<driver> ... DisableSQL <driver> entirely.
不支持sql驅動
-qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default none are turned on.
sql驅動支持,默認全部關閉
-plugin-sql-<driver> EnableSQL <driver> as a plugin to be linked to at run time.
Possible values for <driver>:
[ db2 ibase mysql oci odbc psql sqlite sqlite2 sqlite_symbian symsql tds ]
-system-sqlite ..... Use sqlite from the operating system.
-no-qt3support ..... Disables the Qt3 support functionality.
* -qt3support ........ Enables the Qt 3 support functionality.
qt3的支持
-no-xmlpatterns .... Donot build the QtXmlPatternsmodule. + -xmlpatterns ....... Build the QtXmlPatterns module.
QtXmlPatterns is built if a decent C++ compiler
is used and exceptions are enabled.
-no-multimedia ..... Donot build the QtMultimediamodule. + -multimedia ........ Build the QtMultimedia module.
-no-audio-backend .. Donot build the platform audio backend into QtMultimedia.
+ -audio-backend ..... Build the platform audio backend into QtMultimedia if available.
-no-phonon ......... Donot build the Phononmodule. + -phonon ............ Build the Phonon module.
Phonon is built if a decent C++ compiler is used.
-no-phonon-backend.. Donot build the platform phonon plugin.
+ -phonon-backend..... Build the platform phonon plugin.
-no-svg ............ Donot build the SVGmodule. + -svg ............... Build the SVG module.
-no-webkit ......... Donot build the WebKitmodule. + -webkit ............ Build the WebKit module.
WebKit is built if a decent C++ compiler is used.
-webkit-debug ...... Build the WebKitmodulewithdebugsymbols.
-no-javascript-jit . Donot build the JavaScriptCoreJIT compiler.
+ -javascript-jit .... Build the JavaScriptCore JIT compiler.
-no-script ......... Donot build the QtScriptmodule. + -script ............ Build the QtScript module.
-no-scripttools .... Donot build the QtScriptToolsmodule. + -scripttools ....... Build the QtScriptTools module.
-no-declarative ..... Donot build the declarative module. + -declarative ....... Build the declarative module.
-no-declarative-debug ..... Donot build the declarative debugging support.
+ -declarative-debug ....... Build the declarative debugging support.
-platform target ... The operating system and compiler you are building
on (linux-g++).
See the README file for a list of supported
operating systems and compilers.
-graphicssystem <sys> Sets an alternate graphics system. Available options are: raster - Software rasterizer
opengl - Rendering via OpenGL, Experimental!
openvg - Rendering via OpenVG, Experimental!
以下是圖像處理指令集
-no-mmx ............ Donot compile with use of MMX instructions.
-no-3dnow .......... Donot compile with use of 3DNOW instructions.
-no-sse ............ Donot compile with use of SSE instructions.
-no-sse2 ........... Donot compile with use of SSE2 instructions.
-no-sse3 ........... Donot compile with use of SSE3 instructions.
-no-ssse3 .......... Donot compile with use of SSSE3 instructions.
-no-sse4.1.......... Donot compile with use of SSE4.1 instructions.
-no-sse4.2.......... Donot compile with use of SSE4.2 instructions.
-no-avx ............ Donot compile with use of AVX instructions.
-no-neon ........... Donot compile with use of NEON instructions.
-qtnamespace <name> Wraps all Qt library code in'namespace <name> {...}'.
-qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
-D <string> ........ Add an explicit define to the preprocessor.
預處理器定義的添加
-I <string> ........ Add an explicit include path.
頭文件路徑的添加
-L <string> ........ Add an explicit library path.
庫路徑的添加
-help, -h .......... Display this information.
Third Party Libraries:第三方庫
-qt-zlib ........... Use the zlib bundled with Qt.
+ -system-zlib ....... Use zlib from the operating system.
See http://www.gzip.org/zlib
數據壓縮庫的使用
-no-gif ............ Donot compile GIF reading support.
-no-libtiff ........ Donot compile TIFF support.
-qt-libtiff ........ Use the libtiff bundled with Qt.
+ -system-libtiff .... Use libtiff from the operating system.
See http://www.libtiff.org
-no-libpng ......... Donot compile PNG support.
-qt-libpng ......... Use the libpng bundled with Qt.
+ -system-libpng ..... Use libpng from the operating system.
See http://www.libpng.org/pub/png
-no-libmng ......... Donot compile MNG support.
-qt-libmng ......... Use the libmng bundled with Qt.
+ -system-libmng ..... Use libmng from the operating system.
See http://www.libmng.com
-no-libjpeg ........ Donot compile JPEG support.
-qt-libjpeg ........ Use the libjpeg bundled with Qt.
+ -system-libjpeg .... Use libjpeg from the operating system.
See http://www.ijg.org
以上是圖片格式支持庫的使用
-no-openssl ........ Donot compile support forOpenSSL.
+ -openssl ........... Enable run-time OpenSSL support.
-openssl-linked .... Enabled linked OpenSSL support.
-ptmalloc .......... Override the system memory allocator with ptmalloc.
(Experimental.)
Additional options:
-make <part> ....... Add part to the list of parts to be built at make time.
(libs tools examples demos docs translations)
默認編譯libs tools examples demos docs translations
-nomake <part> ..... Exclude part from the list of parts to be built.
不編譯源碼的某個部分
-R <string> ........ Add an explicit runtime library path to the Qt libraries.
-l <string> ........ Add an explicit library.
-no-rpath .......... Donot use the library install path as a runtime
library path.
+ -rpath ............. Link Qt libraries and executables using the library
install path as a runtime library path. Equivalent to -R install_libpath
是否將生成的庫安裝到指定目錄,默認是安裝目錄
-continue .......... Continue as far as possible if an error occurs.
編譯出錯後儘可能繼續編譯
-verbose, -v ....... Print verbose information about each step of the
configure process.
-silent ............ Reduce the build output so that warnings and errors
can be seen more easily.
* -no-optimized-qmake ... Do not build qmake optimized.
-optimized-qmake ...... Build qmake optimized.
-no-gui ............ Don't build the Qt GUI library
-no-nis ............ Donot compile NIS support.
* -nis ............... Compile NIS support.
-no-cups ........... Donot compile CUPS support.
* -cups .............. Compile CUPS support.
Requires cups/cups.h and libcups.so.2.
-no-iconv .......... Donot compile support for iconv(3).
* -iconv ............. Compile support for iconv(3).
-no-pch ............ Donot use precompiled header support.
* -pch ............... Use precompiled header support.
-no-dbus ........... Donot compile the QtDBusmodule. + -dbus .............. Compile the QtDBus module and dynamically load libdbus-1.
-dbus-linked ....... Compile the QtDBusmoduleandlinktolibdbus-1.
-reduce-relocations ..... Reduce relocations in the libraries through extra
linker optimizations (Qt/X11 and Qt for Embedded Linux only;
experimental; needs GNU ld >= 2.18).
* -no-separate-debug-info . Do not store debug information in a separate file.
-separate-debug-info .... Strip debug information into a separate file.
Qt/X11 only:
-no-gtkstyle ....... Donot build the GTK theme integration.
+ -gtkstyle .......... Build the GTK theme integration.
* -no-nas-sound ...... Do not compile in NAS sound support.
-system-nas-sound .. UseNAS libaudio from the operating system.
See http://radscan.com/nas.html
-egl ............... UseEGL instead of GLX to manage contexts.
When building for desktop OpenGL, this option will
make Qt use EGL to manage contexts rather than the
GLX, which is the default. Note: For OpenGL ES, EGL
is always used.
-no-opengl ......... Donot support OpenGL.
+ -opengl <api> ...... Enable OpenGL support.
With no parameter, this will auto-detect the "best"
OpenGL API to use. If desktop OpenGL is available, it
will be used. Use desktop, es1, or es2 for <api>
to force the use of the Desktop (OpenGL 1.x or 2.x),
OpenGL ES 1.x Common profile, or 2.x APIs instead.
-no-openvg ........ Donot support OpenVG.
+ -openvg ........... Enable OpenVG support.
Requires EGL support, typically supplied by an OpenGL
or other graphics implementation.
-no-sm ............. Donot support XSessionManagement.
* -sm ................ Support X Session Management, links in -lSM -lICE.
-no-xshape ......... Donot compile XShape support.
* -xshape ............ Compile XShape support.
Requires X11/extensions/shape.h.
-no-xvideo ......... Donot compile XVideo support.
* -xvideo ............ Compile XVideo support.
Requires X11/extensions/Xv.h & Xvlib.h.
-no-xsync .......... Donot compile XSync support.
* -xsync ............. Compile XSync support.
Requires X11/extensions/sync.h.
-no-xinerama ....... Donot compile Xinerama (multihead) support.
* -xinerama .......... Compile Xinerama support.
Requires X11/extensions/Xinerama.h and libXinerama.
By default, Xinerama support will be compiled if
available and the shared libraries are dynamically
loaded at runtime.
-no-xcursor ........ Donot compile Xcursor support.
* -xcursor ........... Compile Xcursor support.
Requires X11/Xcursor/Xcursor.h and libXcursor.
By default, Xcursor support will be compiled if
available and the shared libraries are dynamically
loaded at runtime.
-no-xfixes ......... Donot compile Xfixes support.
* -xfixes ............ Compile Xfixes support.
Requires X11/extensions/Xfixes.h and libXfixes.
By default, Xfixes support will be compiled if
available and the shared libraries are dynamically
loaded at runtime.
-no-xrandr ......... Donot compile Xrandr (resize and rotate) support.
* -xrandr ............ Compile Xrandr support.
Requires X11/extensions/Xrandr.h and libXrandr.
-no-xrender ........ Donot compile Xrender support.
* -xrender ........... Compile Xrender support.
Requires X11/extensions/Xrender.h and libXrender.
-no-mitshm ......... Donot compile MIT-SHM support.
* -mitshm ............ Compile MIT-SHM support.
Requires sys/ipc.h, sys/shm.h and X11/extensions/XShm.h
-no-fontconfig ..... Donot compile FontConfig (anti-aliased font) support.
* -fontconfig ........ Compile FontConfig support.
Requires fontconfig/fontconfig.h, libfontconfig,
freetype.h and libfreetype.
-no-xinput ......... Donot compile Xinput support.
* -xinput ............ Compile Xinput support. This also enabled tablet support
which requires IRIX with wacom.h and libXi or
XFree86 with X11/extensions/XInput.h and libXi.
-no-xkb ............ Donot compile XKB (XKeyBoard extension) support.
* -xkb ............... Compile XKB support.
-no-glib ........... Donot compile Glib support.
+ -glib .............. Compile Glib support.
我的編譯腳本及編譯過程中遇到的問題
1、編譯腳本
#!/bin/bash
#Qt version 4.8.6
#VERSION=4
#PATCHLEVEL=8
#SUBLEVEL=6
#rm -rf qt-everywhere-opensource-src-$VERSION.$PATCHLEVEL.$SUBLEVEL
#rm -rf /usr/local/Trolltech/QtEmbedded-$VERSION.$PATCHLEVEL.$SUBLEVEL-arm
#tar xfvz qt-everywhere-opensource-src-$VERSION.$PATCHLEVEL.$SUBLEVEL.tar.gz
#cd qt-everywhere-opensource-src-$VERSION.$PATCHLEVEL.$SUBLEVEL
THIRDLIB=/home/kevin/SystemPorting/3rdLibs/build1.4/lib
THIRDINCLUDE=/home/kevin/SystemPorting/3rdLibs/build1.4/include
BUILDDIR=/home/kevin/SystemPorting/Qt/build-qte-4.8.6
echo yes | ./configure -prefix $BUILDDIR \
#以開源形式發佈 默認release shared發佈
-opensource \
#小端字節序
-little-endian \
#指定嵌入式平臺爲ARM
-embedded arm \
#指定交叉編譯的平臺
-xplatform qws/linux-arm-g++ \
#禁用網絡模塊
-no-webkit \
#生成的庫不安裝在安裝目錄,需自己指定
# -no-rpath \
#圖像文件格式,格式複雜,佔用存儲空間大,比GIF大3倍
-qt-libtiff \
#鍵盤
-qt-kbd-tty
-qt-kbd-linuxinput
#mng圖片支持
-qt-libmng \
#觸摸屏庫,如果工具鏈中自帶的,不用指定頭文件和庫文件
-qt-mouse-tslib -I$THIRDINCLUDE -L$THIRDLIB\
#鼠標驅動使用PC
-qt-mouse-pc \
#不加載的鼠標驅動模塊
-no-mouse-linuxtp \
#禁用Qt3支持
-no-qt3support \
#xml文件解析
-no-xmlpatterns \
#zib壓縮
-qt-zlib \
#gif圖片支持
#-qt-gif
-no-gif \
#png圖片支持
-qt-libpng \
#jpeg圖片支持
-qt-libjpeg \
#矢量圖形,使用graphics
-svg \
#JAVA模塊
-no-javascript-jit \
-no-script \
-no-scripttools \
#一些指令集,用於圖像處理
-no-mmx \
-no-3dnow \
-no-sse \
-no-sse2 \
-no-sse3 \
-no-neon \
-no-ssse3 \
-no-sse4.1 \
-no-sse4.2 \
-no-avx \
#禁用浮點格式支持
-armfpa \
#-no-armfpa \
#不參加編譯
-nomake examples \
-nomake docs \
-nomake demos \
#打印服務
-no-cups \
#顯示設備驅動庫
-qt-gfx-linuxfb \
#屏幕支持顏色深度
-depths 16,24 \
#漢子支持
-qt-freetype
#數據庫支持
-qt-sql-sqlite \
-plugin-sql-sqlite\
#快速編譯,除了必要的庫,其他的部分省略或者使用快速的方法處理
-fast
#make -j4
#sudo -s make install
-qt-mouse-tslib:後面指定頭文件和庫與否取決於交叉編譯工具中集成沒集成觸摸屏庫,沒集成的話得自己指定路徑
2、出錯
usr/local/arm/4.1.2/bin/../lib/gcc/arm-angstrom-linux-gnueabi/4.1.2/../../../../arm-angstrom-linux-gnueabi/bin/ld: warning: libts-0.0.so.0, needed by /home/stillwater/4.1.2/qt-everywhere-opensource-src-4.6.0/lib/libQtGui.so, not found (try using -rpath or -rpath-link)
/home/stillwater/4.1.2/qt-everywhere-opensource-src-4.6.0/lib/libQtGui.so: undefined reference to `ts_read_raw'/home/stillwater/4.1.2/qt-everywhere-opensource-src-4.6.0/lib/libQtGui.so: undefined reference to `ts_open'/home/stillwater/4.1.2/qt-everywhere-opensource-src-4.6.0/lib/libQtGui.so: undefined reference to `ts_fd'/home/stillwater/4.1.2/qt-everywhere-opensource-src-4.6.0/lib/libQtGui.so: undefined reference to `ts_config'/home/stillwater/4.1.2/qt-everywhere-opensource-src-4.6.0/lib/libQtGui.so: undefined reference to `ts_close'/home/stillwater/4.1.2/qt-everywhere-opensource-src-4.6.0/lib/libQtGui.so: undefined reference to `ts_read'
collect2: ld returned 1 exit status
make[2]: *** [deform] Error 1
解決辦法
把/usr/local/tslib下的相關庫
libts-0.0.so.0 libts-0.0.so.0.1.0
拷到編譯器庫裏面/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/lib
或者
原因分析:
第一次安裝時,在第3步沒有對qmake.conf文件進行修改。
解決辦法:
修改QT for arm安裝路徑下mkspecs/qws/linux-arm-g++/qmake.conf 文件(添加lts參數):
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
***************************************************************************************************************************************
3.unknow projet:libss
-nomake demos \ 參數配置出錯
4. warning:
You have not explicitly asked to use pkg-config and are cross-compiling.
pkg-config will not be used to automatically query cflag/lib parameters for
dependencies
添加參數 -force-pkg-config