QT、c/c++通过宏自动判断平台

QT、c/c++通过宏自动判断平台

  • [Chapter1 QT、c/c++通过宏自动判断平台](#Chapter1 QT、c/c++通过宏自动判断平台)

Chapter1 QT、c/c++通过宏自动判断平台

原文链接:https://blog.csdn.net/qq_32348883/article/details/123063830

背景

为了更好的进行跨平台移植、编译、调试。

具体操作

宏操作

cpp 复制代码
#ifdef _WIN32
   //define something for Windows (32-bit and 64-bit, this part is common)
   #ifdef _WIN64
      //define something for Windows (64-bit only)
   #else
      //define something for Windows (32-bit only)
   #endif
#elif __ANDROID__
    // do android something
#elif __linux__
    // do linux something
#elif __unix__ // all unices not caught above
    // do Unix something
#elif defined(_POSIX_VERSION)
    // do POSIX something
#else
   #error "Unknown compiler"
#endif

or 代码内操作

注意: 条件没有使能的编译内容,编译器不会对该内容进行错误检查。

cpp 复制代码
#if defined(_WIN32)
    std::cout << "this is win32 compiler" << endl;
#elif defined(_WIN64)
    std::cout << "this is win64 compiler" << endl;
#elif defined(__linux__)
    std::cout << "this is linux compiler" << endl;
#elif defined(__unix__)
    std::cout << "this is unix compiler" << endl;
#elif defined(__ANDROID__)
    std::cout << "this is android compiler" << endl;
#endif

附注QT .pro自动判断平台

QT 工程.pro内的宏自定义判断平台

bash 复制代码
unix {  
    TARGET = appname
}
macx {
    TARGET = appname2
}
win32 {
    TARGET = appname3
}
相关推荐
十年之少17 小时前
使用VSCode 对PyQt5 say Hello—— Python + Qt 开发
vscode·python·qt
雪度娃娃17 小时前
结构型设计模式——外观模式
c++·设计模式·外观模式
蜡笔小马17 小时前
05.C++设计模式-适配器模式
c++·设计模式·适配器模式
code_pgf17 小时前
Python `asyncio` 与 C++ Fiber 的原理与逻辑分析
c++·人工智能·python
小张成长计划..17 小时前
【C++】30:C++11之lambda,新的类功能和包装器
c++
fengenrong17 小时前
APIO2026游记
c++
会开花的二叉树17 小时前
从 C++ 转向 AI 应用工程:我的 Python 基础第一阶段复盘
c++·人工智能·python
Cx330❀17 小时前
从零实现一个 C++ 轻量级日志系统:原理与实践
大数据·linux·运维·服务器·开发语言·c++·搜索引擎
程序leo源17 小时前
Linux深度理解
linux·运维·服务器·c语言·c++·青少年编程·c#
计算机安禾17 小时前
【c++面向对象编程】第7篇:static成员:属于类而不是对象的变量和函数
java·c++·算法