Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我如何摆脱这些警告?_C++_C_Xcode_Macos_Warnings - Fatal编程技术网

C++ 我如何摆脱这些警告?

C++ 我如何摆脱这些警告?,c++,c,xcode,macos,warnings,C++,C,Xcode,Macos,Warnings,这确实是几个问题,但无论如何 我正在用XCode处理一个大项目,它是最近从MetroWorks移植过来的(是的,真的),我想消除一大堆警告。每隔一段时间就会出现一个重要的警告,但我从不看它们,因为垃圾太多了。所以,如果我能想出如何让XCode停止发出警告,或者实际解决问题,那就太好了。以下是警告: 它声称过时了。 但是,当我将其替换为 我的文件无法编译。显然 地图上有东西,但不是 在地图上 此十进制常数仅在ISO C90中无符号 这是一个与无符号long进行比较的大数字。我甚至投了它,没有效果

这确实是几个问题,但无论如何

我正在用XCode处理一个大项目,它是最近从MetroWorks移植过来的(是的,真的),我想消除一大堆警告。每隔一段时间就会出现一个重要的警告,但我从不看它们,因为垃圾太多了。所以,如果我能想出如何让XCode停止发出警告,或者实际解决问题,那就太好了。以下是警告:

  • 它声称
    过时了。 但是,当我将其替换为
    我的文件无法编译。显然 地图上有东西,但不是 在地图上
  • 此十进制常数仅在ISO C90中无符号
    这是一个与无符号long进行比较的大数字。我甚至投了它,没有效果
  • 条件表达式中的枚举不匹配:
    vs

    这似乎来自?:运算符。then和else分支的计算结果可能不属于同一类型?但至少有一种情况是
    (matchVp==NULL?noErr:dupFNErr)

    由于它们都是OSErr类型,这是mac定义的。。。我不知道发生了什么事。当我有其他的mac常数对时,它似乎也会出现

  • 多字符字符常数

    这是显而易见的。问题是我实际上需要多个字符常量

  • -fwritable字符串与文本CF/NSString不兼容

    我取消选中项目和目标设置中的“字符串为只读”框。。。而且似乎没有任何效果


十进制常量的编写方式类似于
31112233UL

十进制常量的编写方式类似于
31112233UL

中的项在全局命名空间中,而
中的项在标准命名空间中。很可能您只是直接引用全局版本,当您切换到
时,您不再看到它们,因为它们已移动到
std::
。在源文件中添加
,使用命名空间std
快速前进。在标题中,您需要使用
std::
限定地图相关项目的使用

我认为您需要使用尾随UL限定文本常量值,以便它知道正确的文本类型

枚举很可能位于两个独立的操作系统定义的匿名枚举中。你可以使用它们来消除警告

不知道多字节字符

你能禁用-fwritable字符串吗?能否重构需要修改常量字符串的代码?

中的项位于全局命名空间中,而
中的项位于std命名空间中。很可能您只是直接引用全局版本,当您切换到
时,您不再看到它们,因为它们已移动到
std::
。在源文件中添加
,使用命名空间std
快速前进。在标题中,您需要使用
std::
限定地图相关项目的使用

我认为您需要使用尾随UL限定文本常量值,以便它知道正确的文本类型

枚举很可能位于两个独立的操作系统定义的匿名枚举中。你可以使用它们来消除警告

不知道多字节字符

你能禁用-fwritable字符串吗?你能重构需要修改常量字符串的代码吗

“多字符字符常量”
这是显而易见的。问题是我实际上需要多个字符常量

使用
-Wno multichar
编译--将其添加到其他警告标志中,并关闭四字符文字警告

当然,这段遗留代码的多字符字符常量实际上是否意味着与Metrowerks下相同的事情,可能是在不同的体系结构上。。。这是一个悬而未决的问题

“多字符字符常量”
这是显而易见的。问题是我实际上需要多个字符常量

使用
-Wno multichar
编译--将其添加到其他警告标志中,并关闭四字符文字警告


当然,这段遗留代码的多字符字符常量实际上是否意味着与Metrowerks下相同的事情,可能是在不同的体系结构上。。。这是一个悬而未决的问题。

我发现至少在Xcode 3.2.4中,您可以通过在常量中使用一些字符来消除警告,这些字符是类型的正确长度


例如,我有一个只有3个字符长的常数“TT2”,它给了我多字符常量错误。将0添加到常量中会使错误消失,例如:“\0TT2”。

我发现,至少在Xcode 3.2.4中,您可以通过在常量中使用一些字符来消除警告,这些字符是该类型的正确长度


例如,我有一个只有3个字符长的常数“TT2”,它给了我多字符常量错误。将0添加到常数会使错误消失,如:“\0TT2”。

问题的某些部分似乎缺失。例如,“它声称那是过时的。”什么是?用什么替换什么?不,不是“但无论如何”。如果你有几个问题,请发几个问题。它让答案更具体,让问题标题更有意义,因此更容易让其他人以后找到。请分别问每个问题,以便其他人能够找到它们,并从答案中获益。jalf说了什么。而且,你只是在问问题,没有足够的细节。你有五个问题,所以关于
你只能说“我的文件无法编译”。把你的问题分开,然后