将空的 .c 文件添加到 Xcode Cocoa 项目会导致数千个错误

发布于 2024-11-07 12:54:25 字数 412 浏览 0 评论 0原文

我的 Cocoa 应用程序有一个 Xcode 项目。到目前为止都是 Objective-C。

当我从菜单中添加一个新的 .c 文件(添加 C 文件和标头)后,问题开始出现:test.c 和标头 test.h。

当我尝试编译该项目时,现在出现了数千个错误。所有这些都是对语法错误的抱怨。例如:

NSObjCRuntime.h: Expected identifier or '(' before '@' token

两个新文件 test.ctest.h 都不包含任何代码,仅包含默认的标头注释。我的项目配置一定有什么问题。当我删除这两个文件时,项目编译得很好。

项目语言设置为C99。还有什么我可以检查的吗?

谢谢, 标记

I have an Xcode project for my Cocoa application. It's all Objective-C so far.

Problems started after I added a new .c File from the menu (Add C file and header): test.c and header test.h.

When I try to compile the project now there are thousands of errors. All of them are complaints about syntax errors. For example:

NSObjCRuntime.h: Expected identifier or '(' before '@' token

Both new files, test.c and test.h, do not contain any code, only the default header comments. Something must be really broken with my project configuration. When I remove these two files the project compiles just fine.

The project language is set to C99. Is there anything else I could check?

Thanks,
Mark

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

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

发布评论

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

评论(2

谜兔 2024-11-14 12:54:25

如果您编译的文件不包含任何内容,那么您的问题可能出在前缀标头(扩展名:pch)中,

因此您只需根据语言(在 pch 中)包装您的库包含:

#ifdef __OBJC__
#import <Foundation/Foundation.h>
#endif

if the files you compile include nothing, then your problem is likely in the prefix header (extension: pch)

so you just wrap your library includes based on the language (in the pch):

#ifdef __OBJC__
#import <Foundation/Foundation.h>
#endif
稚然 2024-11-14 12:54:25

检查您的 .pch 文件。它导入了一些 Objective-C 标头,但没有适当的预处理器保护。

您必须确保预编译标头中导入的任何 Objective-C 标头或框架如下所示:

#if defined(__OBJC__)
    #import <Cocoa/Cocoa.h>
    #import <CoreData/CoreData.h>
    #import "MyConstants.h"
    ...
#endif

Check your .pch file. It's importing some Objective-C header without the appropriate preprocessor guard.

You must make sure any Objective-C header or framework imported in your precompiled header looks something like this:

#if defined(__OBJC__)
    #import <Cocoa/Cocoa.h>
    #import <CoreData/CoreData.h>
    #import "MyConstants.h"
    ...
#endif
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文