qt实践

一. 网址参考

1. QT 实现FTP客户端

2. QString与char *的相互转换

3. QByteArray::fromHex转换原理

4. QtCreator下使用c++标准输入cin输出cout没有阻塞等待输入

5. cmd - bat文件如何关闭回显

6. Qt:基于Qt开发的轻量级HTTP/HTTPS服务器

二. 编译问题

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创建项目集

参考网址:

1)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目录中) 

posted @ 2023-08-05 16:46  shanyu20  阅读(39)  评论(0)    收藏  举报