【问题标题】:Compile part of code rely on OS in Qt [duplicate]编译部分代码依赖于Qt中的操作系统[重复]
【发布时间】:2013-08-31 03:33:22
【问题描述】:

我需要弄清楚我的程序在运行时运行的操作系统。

我正在使用 Qt 4.8.1,MinGW。我的程序将在 Windows 或 Linux 上运行命令行 QProcess。现在我需要一种开关来根据操作系统运行不同的代码。我知道Q_OS_WIN23Q_OS_LINUX 等宏。但我不知道如何在编译时切换代码部分,以便根据操作系统忽略不相关的代码?你能通过sn-p显示吗? 先谢谢了!

【问题讨论】:

    标签: qt


    【解决方案1】:

    我更喜欢在项目级别执行此操作,并在每个文件中单独的平台特定代码。见documentation

    例子:

    win32 {
        SOURCES += paintwidget_win.cpp
    }
    

    【讨论】:

      【解决方案2】:

      使用#ifdefs 以便在编译时找出操作系统:

      #ifdef Q_OS_MAC
      // mac code here
      #endif
      
      #ifdef Q_OS_LINUX
      // linux specific code here
      #endif
      
      #ifdef Q_OS_WIN32
      // windows code here
      #endif
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-12-25
        • 2021-08-11
        • 2011-10-15
        • 1970-01-01
        • 1970-01-01
        • 2011-07-03
        • 2017-03-09
        • 1970-01-01
        相关资源
        最近更新 更多