【发布时间】:2014-04-12 08:48:09
【问题描述】:
我成功地将 Scintilla 框架添加到我的 XCode 项目中(即它正确地找到了头文件),但是因为它是用 Objective-C++ 编写的,所以它无法编译。由于::s,我收到 8 个语法错误。我已经发现你不能从纯 Objective-C 文件中包含 Objective-C++,所以我将文件扩展名更改为 mm。它仍然给我同样的 8 个错误。
我还将(导入文件的)文件类型更改为sourcecode.cpp.objcpp。
相关的代码行(cmets中的错误-行号来自原始文件,因此没有cmets中的错误):
ScintillaView.h
// Line 47-49
@protocol ScintillaNotificationProtocol
- (void)notification: (Scintilla::SCNotification*)notification; // 4 errors on this line:
// 1. expected type-specifier
// 2. expected ')'
// 3. expected identifier
// 4. expected ';'
@end
// [snip]
// Line 131
- (void) notification: (Scintilla::SCNotification*) notification; // The exact same errors.
复制这段代码时,我注意到:: 运算符在文件中使用了几次,因此解析器只能在某些地方成功匹配它。
再一次,这段代码不是我的,而是取自 Scintilla Cocoa 库。
(更多信息请看这里:http://www.scintilla.org/)
XCode 3.2.6、Mac OS X 10.6.8
【问题讨论】:
-
您没有使用 Xcode 4.2 有什么原因吗?
-
你是第三人问这个问题,昨天第二个问这个问题。请参考此评论线程:apple.stackexchange.com/questions/127235/…。 @BlackFrog
-
即使您的付费 Apple 开发者帐户不是最新的,也可以试试这个 (stackoverflow.com/questions/10335747/…)
-
@BlackFrog 谢谢,但 4.2 是支持 Snow Leopard 的最后一个版本,而您链接到的问题中最旧的版本是 4.3.2。
-
发布错误怎么样?
标签: objective-c xcode objective-c++ scintilla