Qt学习 第26节:Qt编译过程

18:30:49: Running steps for project qt-tutorial-01...

1.使用qmake生成qt-tutorial-01.pro项目文件

18:30:49: Starting: "C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin\qmake.exe" C:\Users\MarX\Desktop\qt-tutorial-01\qt-tutorial-01.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug"

2.使用qmake对qt-tutorial-01.pro生成Makefile文件

Info: creating stash file C:\Users\MarX\Desktop\build-qt-tutorial-01-Desktop_Qt_5_14_2_MinGW_64_bit-Debug\.qmake.stash

3.生成编译器、调试器等等看不懂的配置文件.qmake.stash

18:30:50: The process "C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin\qmake.exe" exited normally.

4.退出qmake

18:30:50: Starting: "C:\Qt\Qt5.14.2\Tools\mingw730_64\bin\mingw32-make.exe" -f C:/Users/MarX/Desktop/build-qt-tutorial-01-Desktop_Qt_5_14_2_MinGW_64_bit-Debug/Makefile qmake_all
mingw32-make: Nothing to be done for 'qmake_all'.

5.使用\mingw32-make工具执行makefile

18:30:50: The process "C:\Qt\Qt5.14.2\Tools\mingw730_64\bin\mingw32-make.exe" exited normally.

6.退出mingw32-make

//make -j8                         # Replace 8 with no. CPU threads.
18:30:50: Starting: "C:\Qt\Qt5.14.2\Tools\mingw730_64\bin\mingw32-make.exe" -j8
C:/Qt/Qt5.14.2/Tools/mingw730_64/bin/mingw32-make -f Makefile.Debug

7.mingw32-make执行Makefile.Debug文件

mingw32-make[1]: Entering directory 'C:/Users/MarX/Desktop/build-qt-tutorial-01-Desktop_Qt_5_14_2_MinGW_64_bit-Debug'
C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin\uic.exe ..\qt-tutorial-01\Widget.ui -o ui_Widget.h

8.使用用户界面编译器uic把Widget.ui转为ui_Widget.h文件

g++ -c -fno-keep-inline-dllexport -g -std=gnu++11 -Wall -Wextra -Wextra -fexceptions -mthreads -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I..\qt-tutorial-01 -I. -I..\..\..\..\Qt\Qt5.14.2\5.14.2\mingw73_64\include -I..\..\..\..\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtWidgets -I..\..\..\..\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtGui -I..\..\..\..\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtANGLE -I..\..\..\..\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtCore -Idebug -I. -I/include -I..\..\..\..\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\win32-g++  -o debug\main.o ..\qt-tutorial-01\main.cpp

9.使用g++编译main.cpp生成main.o ,启动-I指定头所在位置

g++ -c -fno-keep-inline-dllexport -g -std=gnu++11 -Wall -Wextra -Wextra -fexceptions -mthreads -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I..\qt-tutorial-01 -I. -I..\..\..\..\Qt\Qt5.14.2\5.14.2\mingw73_64\include -I..\..\..\..\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtWidgets -I..\..\..\..\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtGui -I..\..\..\..\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtANGLE -I..\..\..\..\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtCore -Idebug -I. -I/include -I..\..\..\..\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\win32-g++  -o debug\Widget.o ..\qt-tutorial-01\Widget.cpp

10.使用g++编译Widget.cpp生成Widget.o

g++ -fno-keep-inline-dllexport -g -std=gnu++11 -Wall -Wextra -Wextra -dM -E -o debug\moc_predefs.h ..\..\..\..\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\features\data\dummy.cpp

11.使用g++编译dummy.cpp生成moc_predefs.h,这个不是很理解

C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin\moc.exe -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN --include C:/Users/MarX/Desktop/build-qt-tutorial-01-Desktop_Qt_5_14_2_MinGW_64_bit-Debug/debug/moc_predefs.h -IC:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/win32-g++ -IC:/Users/MarX/Desktop/qt-tutorial-01 -IC:/Qt/Qt5.14.2/5.14.2/mingw73_64/include -IC:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtWidgets -IC:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtGui -IC:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtANGLE -IC:/Qt/Qt5.14.2/5.14.2/mingw73_64/include/QtCore -I. -IC:/Qt/Qt5.14.2/Tools/mingw730_64/lib/gcc/x86_64-w64-mingw32/7.3.0/include/c++ -IC:/Qt/Qt5.14.2/Tools/mingw730_64/lib/gcc/x86_64-w64-mingw32/7.3.0/include/c++/x86_64-w64-mingw32 -IC:/Qt/Qt5.14.2/Tools/mingw730_64/lib/gcc/x86_64-w64-mingw32/7.3.0/include/c++/backward -IC:/Qt/Qt5.14.2/Tools/mingw730_64/lib/gcc/x86_64-w64-mingw32/7.3.0/include -IC:/Qt/Qt5.14.2/Tools/mingw730_64/lib/gcc/x86_64-w64-mingw32/7.3.0/include-fixed -IC:/Qt/Qt5.14.2/Tools/mingw730_64/x86_64-w64-mingw32/include ..\qt-tutorial-01\Widget.h -o debug\moc_Widget.cpp

12.使用元对象编译器moc编译Widget.h生成moc_Widget.cpp

g++ -c -fno-keep-inline-dllexport -g -std=gnu++11 -Wall -Wextra -Wextra -fexceptions -mthreads -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I..\qt-tutorial-01 -I. -I..\..\..\..\Qt\Qt5.14.2\5.14.2\mingw73_64\include -I..\..\..\..\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtWidgets -I..\..\..\..\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtGui -I..\..\..\..\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtANGLE -I..\..\..\..\Qt\Qt5.14.2\5.14.2\mingw73_64\include\QtCore -Idebug -I. -I/include -I..\..\..\..\Qt\Qt5.14.2\5.14.2\mingw73_64\mkspecs\win32-g++  -o debug\moc_Widget.o debug\moc_Widget.cpp

13.使用g++编译moc_Widget.cpp生成moc_Widget.o

g++ -Wl,-subsystem,windows -mthreads -o debug\qt-tutorial-01.exe debug/main.o debug/Widget.o debug/moc_Widget.o  C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\libQt5Widgets.a C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\libQt5Gui.a C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\libQt5Core.a  -lmingw32 C:\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\libqtmain.a -LC:\openssl\lib -LC:\Utils\my_sql\mysql-5.7.25-winx64\lib -LC:\Utils\postgresql\pgsql\lib -lshell32

14.链接main.o、Widget.o、moc_Widget.o 和静态库文件libQt5Widgets.a、libQt5Gui.a、libQt5Core.a、libqtmain.a
-I:查找.h文件的路径,这里是当前文件夹中
-L:在程序编译的时候,搜索的库的路径
-l:在程序编译的时候,指定使用的库

mingw32-make[1]: Leaving directory 'C:/Users/MarX/Desktop/build-qt-tutorial-01-Desktop_Qt_5_14_2_MinGW_64_bit-Debug'
18:30:53: The process "C:\Qt\Qt5.14.2\Tools\mingw730_64\bin\mingw32-make.exe" exited normally.
18:30:53: Elapsed time: 00:04.

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值