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、使用软件和更新设置国内源 打开软件和更新,选择位于中国的服务器: 外链图片转存失败,源站可能有防盗链机制,建议将图片保存…...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
怎么让Comfyui导出的图像不包含工作流信息,
为了数据安全,让Comfyui导出的图像不包含工作流信息,导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo(推荐) 在 save_images 方法中,删除或注释掉所有与 metadata …...
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...
《Offer来了:Java面试核心知识点精讲》大纲
文章目录 一、《Offer来了:Java面试核心知识点精讲》的典型大纲框架Java基础并发编程JVM原理数据库与缓存分布式架构系统设计二、《Offer来了:Java面试核心知识点精讲(原理篇)》技术文章大纲核心主题:Java基础原理与面试高频考点Java虚拟机(JVM)原理Java并发编程原理Jav…...
DeepSeek越强,Kimi越慌?
被DeepSeek吊打的Kimi,还有多少人在用? 去年,月之暗面创始人杨植麟别提有多风光了。90后清华学霸,国产大模型六小虎之一,手握十几亿美金的融资。旗下的AI助手Kimi烧钱如流水,单月光是投流就花费2个亿。 疯…...
