Core Plot 1.1: 编译 Core Plot 示例时出现错误

4
尝试在Xcode 4.6中编译以下CorePlot 1.1示例时,会出现编译器错误。 - DatePlot - CPTTestApp - iPad 在CPTUtilities.m中出现编译器错误:Operand of ? changes signedness: 'int' to 'NSUInteger' (aka 'unsigned int')
NSRange CPTExpandedRange(NSRange range, NSInteger expandBy)
{
    NSUInteger loc = MAX(0, (NSInteger)range.location - expandBy);
    NSUInteger lowerExpsion = range.location - loc; // Here is the error
    NSUInteger length = (NSUInteger)( (NSInteger)(range.length + lowerExpansion) + expandBy);

    return NSMakeRange(loc, length);
}

展示如何调用CPTExpandedRange函数。 - Ramy Al Zuhouri
我只是打开示例文件并编译它(适用于Mac OSX 64位)。你能否编译Core Plot 1.1的示例文件? - AlexR
这似乎是Xcode 4.6 beta中的新LLVM版本可能会呈现更严格的警告。要么回退到当前稳定的Xcode 4.5版本,要么在Core Plot邮件列表上报告此错误:http://groups.google.com/group/coreplot-discuss - Brad Larson
我尝试在你们的Google Groups网站上提交Bug报告,但是收到了一个来自Google Groups的错误信息:There was an error posting the message to the group. Please try again later. 看起来Google Groups也有一些Bug... :-) 请问您可以将此报告为CorePlot的Bug吗? - AlexR
实际的问题跟踪器在这里:http://code.google.com/p/core-plot/issues/list,但 Google Groups 邮件列表只是一个邮件列表。您可以简单地向其发送电子邮件。我已经超过一年没有参与这个项目了。 - Brad Larson
谢谢你提供的问题跟踪器URL,Brad!我已经提交了一个错误报告。 - AlexR
3个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
6
是的,答案就在那里,只需要改变函数,我留了一份正确代码的副本:
    NSRange CPTExpandedRange(NSRange range, NSInteger expandBy)

//NSUInteger loc            = MAX(0, (NSInteger)range.location - expandBy);
//NSUInteger lowerExpansion = range.location - loc;
//NSUInteger length         = (NSUInteger)( (NSInteger)(range.length + lowerExpansion) + expandBy );

NSInteger loc            = MAX(0, (NSInteger)range.location - expandBy);
NSInteger lowerExpansion = (NSInteger)range.location - loc;
NSInteger length         = MAX(0, (NSInteger)range.length + lowerExpansion + expandBy);

//return NSMakeRange(loc, length);
return NSMakeRange( (NSUInteger)loc, (NSUInteger)length );

3

今天使用最新版本(1.1)编译,仍然出现问题。 - owen gerig
1
必须通过 hg clone 下载,而不是下载部分,以获取 1.1 版本。 - owen gerig

1
抱歉,我找不到如何解决这个编译错误的方法。我和Alex处于同样的情况。尝试编译示例并遇到了相同的错误。运行在XCode 4.6和Mountain Lion上。CorePlot 1.1,并尝试了目标5.1、6.0和6.1。谢谢任何帮助。

你从代码库下载了最新的源代码发布版吗?“正常”的Core Plot 1.1下载包含错误。你必须手动下载最新的源代码发布版。 - AlexR

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,