#ifdef WIN32
# define TARGET_OS 'W_NT'
我在Linux多字符字符常量中收到C ++警告。在下面的线。如何解决此警告。
#if TARGET_OS == 'W_CE'
答案 0 :(得分:3)
字符串常量使用双引号,单引号用于字符常量。
要取消警告,如果这是您的意思,您可以使用-Wno-multichar
gcc选项。
答案 1 :(得分:1)
在#if
中测试预处理器常量时,不要将它们定义为字符串或字符。也许编码
#if TARGET_OS_IS_WIN_NT
/* do something for Windows NT */
#endif
#if TARGET_OS_IS_LINUX
/* do something for Linux */
#endif
更好的是,考虑使用多系统库,例如Qt - 他们完成了处理系统特定事情的无聊工作,并为您提供了一个很好的通用API。