1
0
mirror of https://gitee.com/drabel/LibQQt.git synced 2025-01-04 10:18:44 +08:00
LibQQt/usage.md
2018-04-12 00:28:37 +08:00

90 lines
4.8 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 入门用法
![设置Qt Creator默认编译路径](screenshot/1.png "这是Qt Creator的设置")
Qt Creator
Default build directory:
/xxx/xxx/xxx/xxx/c0-buildstation 这是个你电脑上的绝对路径,根据自己情况设置
/%{CurrentProject:Name}/%{Qt:Version}/%{CurrentKit:FileSystemName}/%{CurrentBuild:Name} 这里是个通配
![设置Qt Creator构建套件](screenshot/2.png "这是Qt Creator的设置设置File System Name")
![设置当前工程的环境变量](screenshot/3.png "这是工程的环境变量设置,注意那几点")
![链接QQt](screenshot/4.png "这是链接QQt的方法pri都在LibQQt目录里")
![QQt内部pri的一点点设置](screenshot/5.png "这是LibQQt需要设置的几个路径编译路径Sdk路径发布路径")
QQT_BUILD_ROOT = /Users/abel/Develop/c0-buildstation
QQT_SDK_ROOT = /Users/abel/Develop/d1-product
APP_DEPLOY_ROOT = /Users/abel/Develop/d1-product
![设置成功显示](screenshot/6.png)
如果设置成功qmake应当显示如上例程的样子
# V2.1.6更新链接QQt的方法
![链接QQt](screenshot/7.png "这是链接QQt的方法pri都在LibQQt目录里")
![QQt内部pri的设置](screenshot/8.png "这是LibQQt需要设置的几个路径这是新的版本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。
欢迎建筑工程师、机械工程师、电子工程师、软件工程师、美术工程师等技术人员,学习使用。
[返回](.)