如何解决警告:Linux C ++中的多字符字符常量

时间:2011-11-23 13:53:43

标签: c++

#ifdef WIN32
#   define TARGET_OS 'W_NT'

我在Linux多字符字符常量中收到C ++警告。在下面的线。如何解决此警告。

#if TARGET_OS == 'W_CE'

2 个答案:

答案 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。