添加 C/C++文件到 Xcode4 iOS 项目

发布于 2024-11-05 01:21:52 字数 166 浏览 1 评论 0原文

在我的 iOS xcode4 项目中,我计划添加一些 c 或 c++ 源文件,例如 (.h/.c) 和 (.h/.cpp)

然后遇到链接错误。

我想需要将链接选项添加到“其他链接...”,

简单的问题是需要添加什么样的链接选项?

我猜这个问题可能会重复。

During my iOS xcode4 project, I plan to add some c or c++ source files such as (.h/.c) and (.h/.cpp)

Then met linkage error.

I guess need to add link option to "Other Link ... "

The simply question is what kind of link option need to be added ?

This question may be duplicated, I guess.

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

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

发布评论

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

评论(2

眼眸里的那抹悲凉 2024-11-12 01:21:52

要在 iOS 项目中包含 C++ 类,请将包含 CPP 实现文件的 OBJ-C 类重命名为 .mm ——这将告诉编译器同时编译 Object-C 和 C++。示例:

SomeCPP.h:

class SomeCPP
{
public:
    int someInt;
    int returnSomeInt(void);
};

SomeCPP.cpp:

#import "SomeCPP.h"

int SomeCPP::returnSomeInt(void)
{
    return this->someInt;
};

MyViewController.mm(OBJ-C ++实现):

#import "SomeCPP.h"
...
- (void)viewDidLoad
{
    SomeCPP *someCPPObject = new SomeCPP();
    someCPPObject->someInt = 5;
    int someInt = someCPPObject->returnSomeInt();
    ...
    delete someCPPObject;
}

To include C++ classes in your iOS project, rename the OBJ-C class that's including CPP implementation file to .mm -- this will tell the compiler to compile both Object-C and C++. Example:

SomeCPP.h:

class SomeCPP
{
public:
    int someInt;
    int returnSomeInt(void);
};

SomeCPP.cpp:

#import "SomeCPP.h"

int SomeCPP::returnSomeInt(void)
{
    return this->someInt;
};

MyViewController.mm (OBJ-C++ implementation):

#import "SomeCPP.h"
...
- (void)viewDidLoad
{
    SomeCPP *someCPPObject = new SomeCPP();
    someCPPObject->someInt = 5;
    int someInt = someCPPObject->returnSomeInt();
    ...
    delete someCPPObject;
}
风柔一江水 2024-11-12 01:21:52

使用 xcode4,如果您想从 Objective-C 标头导入 cpp 标头,您应该使用扩展名“.hh”重命名该 Objective-C 标头

MyObjective-c 标头:

#import "SomeCPP.hpp"
...
- (void)myFunction
{
  // etc..
}

cpp 标头的“.hpp”扩展名仅便于操作-阅读。

With xcode4, if you want to import a cpp header from an objective-c header you should rename this objective-c header with extension ".hh"

MyObjective-c header :

#import "SomeCPP.hpp"
...
- (void)myFunction
{
  // etc..
}

The ".hpp" extension for cpp header is only for human easy-reading.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文