qt实践
一. 网址参考
1. QT 实现FTP客户端
4. QtCreator下使用c++标准输入cin输出cout没有阻塞等待输入
二. 编译问题
1. Why my project doesn't link if there are Q_OBJECT macros in .cpp files?(把类的定义放在了.cpp文件中,且类中包含了Q_OBJECT宏定义)

解决方法1:把类的定义单独放到头文件中
解决办法2:在.cpp文件末尾增加#include "main.moc"

三.Qt工程
1. Qt程序打包
1.1 用release模式编译程序

1.2 把编出来的可执行程序xxx.exe拷贝到新目录中
1.3 运行Qt cmd程序,并把当前目录切到新目录

1.4 通过windeployqt xxx.exe命令,它会自动找到可执行文件需要的所有动态链接库,并将它们拷贝到当前文件夹中

此文件夹下的xxx.exe双击可以直接运行
1.5 通过Enigma Virtual Box工具,把动态库与exe打包成单个exe文件


2.Qt创建项目集
参考网址:
截图:


3. Qt搭建交叉编译环境
步骤:
1)在ubuntu下安装QT环境
2)下载QT库的源文件---使用交叉编译工具链进行编译----生成新的QT库(包括qmake命令)
源码压缩包目录及名称:https://download.qt.io/archive/qt/5.12/5.12.5/submodules/qtbase-everywhere-src-5.12.5.tar.xz

3)export交叉编译器目录和qmake目录
export PATH=/opt/toolchain/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin:$PATH
export PATH=/opt/toolchain/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/Qt_5.12.5/bin:$PATH
4) 可以通过下面命令行进行编译工程
qmake xxx.pro -o temp && make --directory=temp (编译好的文件保存在temp目录中)

浙公网安备 33010602011771号