需求

需要在 Qt 中检测当前的操作系统平台具体是 win 还是 linux,然后根据不同的平台执行不同的代码。比如在 linux 平台可以使用 syslog

解决

#ifdef Q_OS_LINUX
#include <syslog.h>
#endif

#ifdef Q_OS_WIN
#endif

#ifdef Q_OS_OSX
#endif


#ifdef Q_OS_LINUX
    openlog(NULL, LOG_CONS | LOG_NDELAY | LOG_NOWAIT | LOG_PID, LOG_LOCAL0);
    setlogmask(LOG_UPTO(LOG_MASK_BUILD));
#endif


syslog(LOG_DEBUG, "%s: %d: %s --> class construct", __FILE__, __LINE__, __FUNCTION__);

参考

Qt判断当前系统

QT C++识别当前操作系统