1
0
mirror of https://gitee.com/drabel/LibQQt.git synced 2025-01-04 10:18:44 +08:00
LibQQt/usage.md
2018-04-14 21:34:53 +08:00

5.9 KiB
Raw Blame History

入门用法

设置Qt Creator默认编译路径
Qt Creator
Default build directory:
/xxx/xxx/xxx/xxx/c0-buildstation 这是个你电脑上的绝对路径,根据自己把编译根放在哪里设置
/%{CurrentProject:Name}/%{Qt:Version}/%{CurrentKit:FileSystemName}/%{CurrentBuild:Name} 这里是个通配,直接拷贝上去
设置Qt Creator构建套件
设置当前工程的环境变量
链接QQt
QQt内部pri的一点点设置
QQT_BUILD_ROOT = /Users/abel/Develop/c0-buildstation
QQT_SDK_ROOT = /Users/abel/Develop/d1-product
APP_DEPLOY_ROOT = /Users/abel/Develop/d1-product

设置成功显示
如果设置成功qmake应当显示如上例程的样子

v2.1.6更新链接QQt的方法

链接QQt
QQt内部pri的设置

主要使用思路

  1. 按照文章所说更改Qt Creator的默认编译路径。只有这样才能实现多平台目标、中间目标不冲突。
  2. 参照LibQQt/src/qqt_qkit.pri里的SYSNAME变量在Qt Creator首选项-设置构建和运行-构建套件Kit页面的每个kit的File System Name。请使用Qt Creator 3.5以上版本其被佩戴于Qt5.2.
  3. 打开LibQQt工程根据qmake输出在用户配置目录/[.]qmake/app_configure.pri里面设置QQT_BUILD_ROOT QQT_SDK_ROOT APP_DEPLOY_ROOT三个路径变量
  4. 仿照LibQQt的例程在用户工程.pro里include(.../LibQQt/src/app_base_manager.pri)
  5. 在Qt Creator项目-kit-构建设置页面配置QKIT环境变量LibQQt也需要用户App需要可以build了。

在LibQQt/app/xxx.pri用户可以选用拷贝到自己工程目录。
在这个过程里面只有QKIT环境变量跟随工程build配置其他的仅仅初始配置一次。

Qt Kit、Kit File System Name和QKIT、SYSNAME的关系

LibQQt有复杂的环境设置那么这些设置之间的关系是什么样子的呢

先说说每个value在Qt Creator中的位置

  • 首选项-构建和运行-构建套件(Kit)-Every kit (初始化)
    • File system name
  • 项目-Every kit-构建设置-构建环境 跟随build目标
    • QKIT
  • LibQQt/src/qqt_qkit.pri定义之处
    • QKIT、SYSNAME的定义。
  • 用户配置目录/[.]qmake/app_configure.pri初始化
    • QQT_SDK_ROOT 所有SDK的发布根位置
    • QQT_BUILD_ROOT 所有LibQQt应用的编译根位置
    • APP_DEPLOY_ROOT 所有LibQQt应用的发布根目录

再说说,他们之间的对应关系

Qt Kit Kit File System Name QKIT SYSNAME
Windows 32bit Windows WIN32 Windows
Windows 64bit Win64 WIN64 Win64
Linux 32bit Linux LINUX Linux
Linux 64bit Linux64 LINUX64 Linux64
macOS clang 64bit MacOS macOS MacOS
Arm 32bit Arm32 ARM32 Arm32
Mips 32bit Mips32 MIPS32 Mips32
Embedded 32bit Embedded EMBEDDED Embedded
iOS clang iOS iOS iOS
iOS Simulator iOS-simulator iOSSimulator iOS-simulator
Android armeabi Android ANDROID Android
Android x86 Android_x86 ANDROIDX86 Android_x86

最后说说,他们的决定关系和由来

QKIT决定SYSNAMESYSNAME等于Kit File System Name.
Qt Kit的名字第一列就是Qt Creator的构建套件。
它每一个包含一个不同的系统名叫做File System Name它还包括不同的编译器、调试器等。
有没有感觉他们的关系很逗?明明相同的东西,写了这么多遍。
原因是这样的,
源代码-经过qmake变成-MakeFile-经过make变成-目标。
Qt Creator自己配置了Kit的很多变量可是没有全部传给qmake
qmake拿不到完整的目标信息只好自己定义一套就是QKIT和SYSNAME
而Qt Creator这时就必须配合qmake完成配置。
Qt Creator里的两处配置都是为了配合qmake进行配置的
无奈之举。
等Qt Creator更新到把目标信息全部传给qmake以后就可以删除QKIT和SYSNAME这样的设置了。

用户设置的那几个路径属于Multi-link技术每更换一台电脑才会更换。
目的在于确认用户的开发、工具、编译、产品目录的设置用于辅助qmake执行多link。

欢迎建筑工程师、机械工程师、电子工程师、软件工程师、美术工程师等技术人员,学习使用。

v2.2.1更新链接LibQQt的方法

磁盘上的和先前的没有变化只不过用户在工程树里看到的app_configure.pri从app_link_qqt_library.pri里移动到了app_multi_link_config.pri里。
并且Multi-link技术主动依赖qqt_function.pri里的qmake用户自定义函数集。
图上写的比较简单Windows下在用户主目录\AppData\Roaming\qmake里。 app_configure.pri移动了

v2.2.2 更新LibQQt Multi-link技术

这次相比v2.2.1更改了Windows平台app_configure.pri的位置过去在C:\Users\Administrator\AppData\qmake里面
现在更改到了C:\Users\Administrator\.qmake里面也就是放到了用户主目录根下
这次改动统一符合了类Unix配置文件的规范。
但是在Windows下Qt Creator还是不会在qmake error函数以后依然加载app_configure.pri
还是需要用户手动去打开这个文件进行编辑。
无奈之举。

另外更新了QKIT和SYSNAME的关系

返回