QT判断操作系统类型和CPU架构
一、判断操作系统类型
1.在.pro
文件中判断
macx {
# mac only
}
unix:!macx{
# linux only
}
win32 {
# windows only
}
2.在代码中判断
可以包含QGlobal
头文件,判断预定义宏
#include <QtGlobal>
...
#ifdef Q_OS_MAC
// mac
#endif#ifdef Q_OS_LINUX
// linux
#endif#ifdef Q_OS_WIN32
// win
#endif#ifdef __arm__
// arm
#endif
二、判断当前编译器对应的CPU架构类型
1.在.pro
中判断
//32位
contains(QT_ARCH, i386){ //x86架构 32位CONFIG(release, release | debug){DESTDIR = $$PWD/bin/x86/release} else {DESTDIR = $$PWD/bin/x86/debug}
}
//64位
contains(QT_ARCH, x86_64){ //x86架构 64位CONFIG(release, release | debug){DESTDIR = $$PWD/bin/x64/release} else {DESTDIR = $$PWD/bin/x64/debug}
}contains(QT_ARCH, arm64){
message("arm64") #在这里处理arm64所需
}else{
message("x86")
}//打印出CPU架构类型
message($$QT_ARCH)
QT_ARCH
是 Qt
构建系统中的一个变量,主要用于表示目标平台的架构。不同的架构值取决于你使用的 Qt 版本和构建环境。一般来说,QT_ARCH
的值取决于你的编译目标平台的具体架构。
常见取值:
value | descripe |
---|---|
x86_64 | 表示 64 位的 x86 架构,也称为 AMD64 或 Intel 64 |
x86 | 表示 32 位的 x86 架构,也称为 IA-32 |
arm | 表示 ARM 架构,通常用于移动设备和嵌入式系统 |
arm64 或 aarch64 | 表示 64 位的 ARM 架构,常用于现代的 ARM 处理器 |
mips | 表示 MIPS 架构,通常用于嵌入式系统 |
ppc | 表示 PowerPC 架构,虽然现在不那么常见,但在某些特定环境中可能会遇到 |
2.在代码中判断
方式1:
QSysInfo::WordSize=32/64。
方式2:
#ifdef _WIN64qDebug()<<64;
#elseqDebug()<<32;
#endif
这种方式只能判断Windows
系统的32
位和64
位
且需要注意:
_WIN64
只有在64
位程序上才被定义;
_WIN32
在64
和32
位程序上都会被定义
所以一般都是这样来使用这个宏定义:
#ifdef _WIN32 //32位和64位 win#ifdef _WIN64 //64位 wincout << "Windows X64" << endl;#elsecout << "Windows X86" << endl;#endif
#elsecout << "Linux" << endl;
#endif
方式3:
#if defined(__x86_64__) || defined(_M_X64)std::cout << "64-bit x86 architecture" << std::endl;
#elif defined(__i386__) || defined(_M_IX86)std::cout << "32-bit x86 architecture" << std::endl;
#elif defined(__arm__) || defined(_M_ARM)std::cout << "ARM architecture" << std::endl;
#elif defined(__aarch64__)std::cout << "64-bit ARM architecture" << std::endl;
#elif defined(__mips__)std::cout << "MIPS architecture" << std::endl;
#elif defined(__powerpc__)std::cout << "PowerPC architecture" << std::endl;
#elsestd::cout << "Unknown architecture" << std::endl;
#endif
参考链接
相关文章:

QT判断操作系统类型和CPU架构
一、判断操作系统类型 1.在.pro文件中判断 macx { # mac only } unix:!macx{ # linux only } win32 { # windows only }2.在代码中判断 可以包含QGlobal头文件,判断预定义宏 #include <QtGlobal> ... #ifdef Q_OS_MAC // mac #endif#ifdef Q_OS_LINUX // …...

input[type=checkbox]勾选框自定义样式
效果图: <template> <input class"rule-checkbox" type"checkbox" checked v-model"isChecked" /> </template><script setup lang"ts"> import { ref } from vue; const isChecked ref(); </…...

鼠害监测系统:科技守护农业安全
在农业生产中,鼠害一直是威胁作物安全、影响产量的重要因素。然而,随着科技的飞速发展,鼠害监测系统正逐步成为现代农业防治鼠害的重要利器。 鼠害监测系统巧妙融合了现代光电、数控及物联网技术,实现了诱鼠、投喂鼠药、鼠情监测及…...

Ubuntu20.04如何安装配置JDK
资源准备 官方下载地址(根据自己的系统版本选择不同版本进行下载即可):Java Downloads | Oracle 如无特殊需要可直接移步至下方JDK1.8安装包 https://download.csdn.net/download/qq_43439214/89646731 安装步骤 创建Java目录 sudo mkdir …...
Python3网络爬虫开发实战(9)代理的使用 (需补充代理池的构建)
文章目录 一、代理的设置1.1 urllib 的代理设置1.2 requests 的代理设置1.3 httpx 的代理设置1.4 aiohttp 的代理设置1.4 Selenium 的代理设置1.6 Playwright 的代理设置 二、代理池的构建和维护2.1 代理池的模块构成2.2 代理池的实现 网站为了避免爬虫采集数据可能会采取一些反…...
人际关系中的价值交换原理,在人类社会的复杂网络中,人际关系犹如一根根交织的丝线,将我们彼此紧密相连
人际关系中的价值交换原理,在人类社会的复杂网络中,人际关系犹如一根根交织的丝线,将我们彼此紧密相连。无论是亲情、友情还是爱情,这些关系在表面的情感纽带之下,实则都涉及到价值交换的原理。这种价值交换并非仅仅局限于物质层面,而是涵盖了情感、心理等人类所需的一切…...

西安电子科技大学萌新智慧指南(校区篇)
本次是西安电子科技大学南校区【本部南校区】 刚刚进入校园 相信大家对校园环境还很陌生 接下来就用一张地图 带大家迅速了解一下南校区的构造 宿舍 学生宿舍主要分为三部分 竹园公寓 1-4 海棠公寓 5-10 丁香公寓 11-15 研究生们主要居住在 海棠续建5、丁香14、丁香1…...

JavaScript基础(33)_鼠标滚轮滚动事件、键盘事件
鼠标滚轮滚动事件:onwheel 获取鼠标滚轮滚动的方向:wheelDelta 比如:向上滚动:109 (所有正值都是向上) 向下滚动:-109(所有负值都是向下) 注意:当…...

怎样做网站推广
拥有一个精致而富有吸引力的网站是成功商业运营的关键。然而,仅仅拥有一个网站是不够的,您还需要通过有效的推广策略吸引更多的访问者。以下是一些成功的网站推广策略,帮助您提升流量并增加知名度。 1. 优化SEO: 搜索引擎优化&am…...

Unity引擎加密方案解析
据悉,Unity引擎的全球市场占有率已经超过50%,而在全球排名前1000的手游当中,这一数据更是高达73%。不止如此,Unity在中国拥有高达350万的注册用户,《崩坏星穹铁道》、《王者荣耀》等爆款游戏均为Unity引擎开发。 庞大…...

遇到的几个iOS问题
1 unable to boot the simulator 跑模拟器的时候遇到这个报错, 解决方法 处理办法: 删除升级之前的模拟器缓存,重启模拟器。删除路径:~/Library/Developer/CoreSimulator/Cache 注意:后面可能还会复现这个报错&#x…...

掌握ChatGPT写作艺术:从入门到精通的四个层次
这些周末我仔细研究了如何通过优化提示词提升ChatGPT输出内容的质量。 关于如何使用ChatGPT辅助我们的写作,我归纳了以下规律,希望能为你带来启发。 一、写作步骤 撰写一篇文章,思路上必须是从抽象到具体逐步深入。 首先我们需要明确写什么…...

虚幻UE5安装报错误代码:SU-PQR5
找到图标的快捷方式 “Epic Games Launcher”右键属性,在目标最后添加-SkipBuildPatchPrereq,如下图: 最后,见证奇迹成功打开软件,可以继续安装啦。 参考资料: 【图片】求教各位大佬--错误代码SU-PQR5【ep…...

谷歌开源Gemma-2 百亿参数大模型,性能超越Llama-3模型,免费使用
Gemma 模型 Gemma模型是谷歌发布的一个开源模型,任何人都可以免费下载预训练模型,进行使用。而谷歌最近也发布了Gemma 2 模型,模型参数超过了 200 亿大官,果真大模型最后都是拼参数的时候吗。 Gemma 2 模型发布 Gemma 2 模型可以…...

人工智能与机器学习原理精解【12】
文章目录 分级聚类理论分级聚类的详细说明1. 定义2. 算法3. 计算4. 例子5. 例题 皮尔逊相关系数 julia实现 参考文献 分级聚类 理论 分级聚类的详细说明 1. 定义 分级聚类(Hierarchical Clustering),又称为层次聚类,是一种通过…...

openEuler系统安装Visual Studio Code
openEuler系统安装Visual Studio Code 背景安装密钥和存储库更新包缓存并使用dnf安装包Fedora 22及以上版本旧版本使用yum 安装过程截图安装成功看桌面效果 背景 openEuler(openEuler-24.03-LTS)安装了麒麟UKUI桌面但是没有麒麟软件商店想安装Visual Studio Code 安装密钥和…...

Qt 系统相关 - 事件
目录 1. 事件介绍 2. 事件的处理 示例1:处理鼠标进入和离开 示例2:当鼠标点击时,获取对应的坐标值; 3. 按键事件 3.1 单个按键 3.2 组合按键 4. 鼠标事件 4.1 鼠标单击事件 4.2 鼠标释放事件 4.3 鼠标双击事件 4.4 鼠标…...
Ubuntu最小化命令行系统 安装GUI 远程桌面
Ubuntu 服务器 安装GUI 更新、升级 sudo apt update && sudo apt upgrade安装桌面环境 sudo apt install taskselsudo apt install ubuntu-desktop安装显示登录管理器 sudo apt install lightdm安装 lightdm 时系统会让选择默认的显示管理器,选择lightd…...
Web前端:CSS篇(二)背景,文本,链接
CSS 背景 背景颜色 background-color 属性定义了元素的背景颜色. 页面的背景颜色使用在body的选择器中: body {background-color:#b0c4de;} CSS中,颜色值通常以以下方式定义: 十六进制 - 如:"#ff0000"RGB - 如:"rgb(255,0…...

ubuntu 24.04 软件源配置,替换为国内源
ubuntu 默认的官网源下载速度非常慢,新装 ubuntu 系统首先把 apt 软件源替换成国内源。 1、使用软件和更新设置国内源 打开软件和更新,选择位于中国的服务器: 外链图片转存失败,源站可能有防盗链机制,建议将图片保存…...

什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...

云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

windows系统MySQL安装文档
概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…...

在 Spring Boot 中使用 JSP
jsp? 好多年没用了。重新整一下 还费了点时间,记录一下。 项目结构: pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...
flow_controllers
关键点: 流控制器类型: 同步(Sync):发布操作会阻塞,直到数据被确认发送。异步(Async):发布操作非阻塞,数据发送由后台线程处理。纯同步(PureSync…...

C# winform教程(二)----checkbox
一、作用 提供一个用户选择或者不选的状态,这是一个可以多选的控件。 二、属性 其实功能大差不差,除了特殊的几个外,与button基本相同,所有说几个独有的 checkbox属性 名称内容含义appearance控件外观可以变成按钮形状checkali…...

门静脉高压——表现
一、门静脉高压表现 00:01 1. 门静脉构成 00:13 组成结构:由肠系膜上静脉和脾静脉汇合构成,是肝脏血液供应的主要来源。淤血后果:门静脉淤血会同时导致脾静脉和肠系膜上静脉淤血,引发后续系列症状。 2. 脾大和脾功能亢进 00:46 …...
验证redis数据结构
一、功能验证 1.验证redis的数据结构(如字符串、列表、哈希、集合、有序集合等)是否按照预期工作。 2、常见的数据结构验证方法: ①字符串(string) 测试基本操作 set、get、incr、decr 验证字符串的长度和内容是否正…...