c++ - 如何在 Xcode 中使用 object-Cpp

标签 c++ ios objective-c xcode cocoa

我使用 3 个 *.m 文件(main.m、AppDelegate.m 和 projectnameTests.m)在 Xcode 中创建了一个新的 Cocoa 应用程序。 为了使用 object-cpp,我将 3 个 *.m 文件重命名为 *.mm 文件。

然后我从 Xcode 得到以下错误:

"Undefined symbols for architecture x86_64: "_NSApplicationMain", referenced from: _main in main.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)"

我从来没有处理过 .o 文件,所以我不确定哪里出了问题。 请帮忙。

P.S.: 我使用的是最新的 Xcode,版本 (6.1.1)。

最佳答案

将 AppKit.framework 添加到项目目标的构建阶段下的“将二进制文件与库链接”部分,这应该可以解决问题。

附言不要问我为什么 XCode 会自动为 .m 文件找到必要的框架(即 AppKit.framework)而不为 .mm 文件找到必要的框架(即 AppKit.framework),但是添加 AppKit.framework 可以解决问题,因为 NSApplicationMain 是在 AppKit 中定义的。添加 Cocoa.framework 也解决了这个问题,可能是因为它会触发 XCode 自动链接到 AppKit.framework。

关于c++ - 如何在 Xcode 中使用 object-Cpp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28247574/

相关文章:

c++ - 在 Qt 中如何在 QLineEdit 中使用 QFileDialog 添加文件

c++ - 在硬件级别使用 ForwardIterator 与 BidirectionalIterator 相比有何作用?

javascript - 尝试在 create-react-native-app 项目中使用 react-native-fs (expo)

php - 如何使用POST上传图片和文字

ios - 如何显示内购项目的描述?

iphone - 我怎样才能 'cut' UIImage 中的透明孔?

c++ - 这似乎是 C++ Primer 5th edition 一书中的错误

java - 在 Java 应用程序中与 Ogre(C++) 交互的最佳方式是什么?

ios - 使用 parse.com 检索个人资料图片

iphone - 是否可以对 C++ 类执行任何 GUI 操作