1

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

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

4

2 回答 2

5

用于#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
于 2013-08-28T07:38:37.767 回答
1

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

例子:

win32 {
    SOURCES += paintwidget_win.cpp
}
于 2013-08-28T14:03:21.200 回答