同步操作将从 LibQQt应用程序开发组织/LibQQt 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
Qt Creator
Default build directory:
/xxx/xxx/xxx/xxx/c0-buildstation 这是个你电脑上的绝对路径,根据自己把编译根放在哪里设置
/%{CurrentProject:Name}/%{CurrentKit:FileSystemName}/%{Qt:Version}/%{CurrentBuild:Name} 这里是个通配,直接拷贝上去
这是建议值,在Multi-link2.1里面,这个值不再强制。
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应当显示如上例程的样子
在LibQQt/app/xxx.pri,用户可以选用,拷贝到自己工程目录。
在这个过程里面,只有QKIT环境变量跟随工程build配置,其他的仅仅初始配置一次。
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决定SYSNAME,SYSNAME等于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。
欢迎建筑工程师、机械工程师、电子工程师、软件工程师、美术工程师等技术人员,学习使用。
磁盘上的和先前的没有变化,只不过用户在工程树里看到的app_configure.pri从app_link_qqt_library.pri里移动到了app_multi_link_config.pri里。
并且Multi-link技术主动依赖qqt_function.pri里的qmake用户自定义函数集。
图上写的比较简单,Windows下在,用户主目录\AppData\Roaming\qmake里。
Windows平台app_configure.pri的位置 C:\Users\Administrator\AppData\qmake,
在Windows下,Qt Creator还是不会在qmake error函数以后依然加载app_configure.pri,
还是需要用户手动去打开这个文件进行编辑。
无奈之举。
用Qt VS Addin或者Qt VS Tools开发即可。
有一些约束:
Visual Studio使用设置:
还修改了Windows下的app_configure.pri的磁盘保存位置,到用户主目录/.qmake/app_configure.pri,这块完全使用类Unix风格。
Multi-link技术完成。
在完成的Multi-link技术里,新的QSYS环境变量和Qt Kit的关系
QKIT不再使用,而仅仅使用QSYS。
Qt Kit | Kit File System Name | QKIT | QSYS |
---|---|---|---|
Windows 32bit | Windows | - | Windows |
Windows 32bit | Win32 | - | Win32 |
Windows 64bit | Win64 | - | Win64 |
Linux 32bit | Linux | - | Linux |
Linux 64bit | Linux64 | - | Linux64 |
macOS clang 64bit | macOS | - | macOS |
Arm 32bit | Arm32 | - | Arm32 |
Mips 32bit | Mips32 | - | Mips32 |
Embedded 32bit | Embedded | - | Embedded |
iOS clang | iOS | - | iOS |
iOS Simulator | iOSSimulator | - | iOSSimulator |
Android armeabi | Android | - | Android |
Android x86 | AndroidX86 | - | AndroidX86 |
App和Lib的源代码,一直处于编写之中。
App和Lib的目标,一直从Build位置,持续发布到Deploy位置和SDK位置。
用户再也不必为了管理生成目标、发布目标和链接而劳费手劲。
在2008年的时候还没有这个技术,2018年,这个技术终于变成了现实。
现在,按照GPL发布,
基于qmake。
Multi-link会一直处于App/Lib生产线的控制器地位。
Multi-link允许用户自行添加任何依赖项,我把一些常用的依赖项添加用pri放在了app-lib里,
而这些依赖项的SDK我保存在了百度网盘,以方便用户取用,用户只需要下载下来解压到自己的LIB_SDK_ROOT里。
百度网盘地址链接:https://pan.baidu.com/s/1FPPkTUnk2XBL4rpnZsAGmw 密码:hotz
SDK难免有不全,难免不能满足任何用户的需求,请用户自行补齐。
利用Multi-link技术的添加Library模板很容易的。
我计划在LibQQt 3.0的时机将Multi-link合并到master分支进行正式发布。
APP_DEPLOY_ROOT=R:\Develop\d0-product
LIB_SDK_ROOT=R:\Develop\d1-sdk
APP_BUILD_ROOT=R:\Develop\c0-buildstation
Multi-link目录里提供了Multi-linkConfigTool图形配置工具,编译运行就可以设置,非常方便。
在工程里包含multi-link/add_base_manager.pri,在project build config设置环境变量QSYS,就可以使用里面的丰富函数。简单吧!
注意:Multi-link 2 已经不支持Qt4,如果需要Qt第四代,那么使用multi-link 1.0链接QQt。
注意:Multi-link 2 APP_BUILD_ROOT变成了optional,但是依然需要设置一下,以免还有需要的地方。build root是一切开始的地方。
Enjoy it!
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。