编译部分代码依赖于Qt中的OS

elg*_*ino 1 qt

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

我正在使用Qt 4.8.1,MinGW.我的程序应在Windows或Linux上运行命令行QProcess.现在我需要一种开关来根据操作系统运行不同的代码.我知道像宏Q_OS_WIN23,Q_OS_LINUX等,但我不知道如何切换代码的一部分,而编译它,从而使依赖于OS它忽略不相关吗?你能通过代码段显示吗?先谢谢!

pne*_*zis 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
Run Code Online (Sandbox Code Playgroud)