Cocoa Mac OSX:调试模式下没有错误,但发布模式下有很多错误...帮助!

发布于 2024-10-19 21:48:38 字数 383 浏览 5 评论 0 原文

我的 OSX 程序在调试模式下运行得非常好。我想“编译并存档”它以供发布,但我遇到了很多仅在这种模式下出现的错误。

例如:

NSButton *showMenuButton =  [[NSButton alloc] initWithFrame:CGRectMake(10,10,10,10)];

给出:

错误:'initWithFrame:'的参数1的类型不兼容

我的大多数错误都链接到不同类的initWithFrame方法(NSView,NSImageView ...

您知道这个问题的根源是什么吗?

多谢 !!

My OSX program works perfectly well in debug mode. I wanted to "compile and archive" it for release but I have got plenty of errors which appear just in this mode.

For example :

NSButton *showMenuButton =  [[NSButton alloc] initWithFrame:CGRectMake(10,10,10,10)];

gives :

error: incompatible type for argument 1 of 'initWithFrame:'

Most of my erros are linked to initWithFrame method for different classes (NSView, NSImageView...)

Do you know what can be the origin of this issue ?

Thanks a lot !!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

↙温凉少女 2024-10-26 21:48:38

对于 CorePlot 中的某些此类问题,我们会开具票证。然而,通过此修改,它被标记为已修复,但我没有找到永久的解决方案。

根据此 CGRectMake 更改为 NSMakeRect /detail?id=47" rel="nofollow">CorePlot 问题帖子。希望它有帮助:)

For some issues of this kind in CorePlot, a ticket is opened. It is however marked as fixed with this modification but how ever I didn't find a permanent solution.

Change CGRectMake to NSMakeRect according to this CorePlot Issue Post. Hope it helps :)

泪冰清 2024-10-26 21:48:38

确保在需要的地方导入 CoreGraphics 标头。

如果您将其导入到前缀标头中(正如我建议您对导入的所有系统框架标头所做的那样),请确保在项目或项目的配置中设置了构建设置,并将其设置为正确的文件目标您设置的位置。

可能出现错误的示例:

  • 您在目标中设置了前缀标头,但仅在调试中设置,因此在发布中,它从项目继承了(错误的)值。
  • 您可以在两种配置中将其设置在目标中,但设置为不同的值。
  • 您已在项目中设置它,但仅在调试中设置,因此在发布中,它使用(不正确的)默认值。
  • 您已在项目中的两种配置中将其设置,但设置为不同的值。

Make sure that you are importing the CoreGraphics header everywhere you need it.

If you are importing it in your prefix header (as I recommend you do with all the system framework headers you import), make sure that that build setting is set, and set to the correct file, in both of your configurations in the project or target where you set it.

Examples of how you might have that wrong:

  • You have the prefix header set in the target, but only in Debug, so in Release, it inherits the (wrong) value from the project.
  • You have it set in the target in both configurations, but to different values.
  • You have it set in the project, but only in Debug, so in Release, it uses the (incorrect) default value.
  • You have it set in the project in both configurations, but to different values.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文