【问题标题】:How can I incorporate my C++ code into my Xcode project using an Executable file?如何使用可执行文件将我的 C++ 代码合并到我的 Xcode 项目中?
【发布时间】:2019-07-18 16:07:33
【问题描述】:

我是 Xcode 的新手,我只是想看看是否可以在 Xcode 中使用可执行文件。为了测试这一点,我有一个非常简单的 C++ 代码,可以将用户的输入打印到屏幕上。

我正在使用 Xcode 10 中基于 swift 的项目。在项目构建设置中,我可以看到链接部分,这似乎是放置可执行文件的合适位置,但是我找到的所有信息一直是关于从 Xcode 项目生成可执行文件,这与我需要的相反(将外部可执行文件合并到我的 Xcode 项目中)。这是我生成可执行文件的 C++ 文件的主要代码。

int CPPTest::main(int argc, char* argv[])
{
int counter;
//  printf("Program Name Is: %s", argv[0]);
if (argc == 1)
printf("\nNo Extra Command Line Argument Passed Other Than Program Name\n");
if (argc >= 2)
{
    printf("\nNumber Of Arguments Passed: %d", argc);
    printf("\n----Following Are The Command Line Arguments Passed----\n");
    for (counter = 0; counter<argc; counter++)
    printf("argv[%d]: %s\n", counter, argv[counter]);
}
//  system("pause");
return 0;
}

我非常感谢有关如何将我的可执行文件与我的 Xcode 项目链接以及能够调用主函数和传递参数的分步说明。

【问题讨论】:

标签: c++ xcode executable


【解决方案1】:

如果是 iOS 项目,您将无法直接运行 C++ 可执行文件。您可以通过向项目添加目标并将库与您的 Swift 应用程序链接来为 C++ 代码创建一个库。以下 Stack Overflow 问题应该会有所帮助:

How to build and use a C++ static library for ios application

如果是 Mac 项目,您可以使用 Process(以前称为 NSTask)类来运行 C++ 可执行文件并提供参数。您必须将可执行文件添加到您的项目中,将 Copy Files 构建阶段添加到您的 Swift 应用程序项目中以将 C++ 可执行文件复制到您的应用程序包中,并编写一些 Swift 代码以从应用程序包中加载 C++ 可执行文件。

【讨论】:

  • 感谢您的回复!这是一个iOS项目。我大致了解如何添加目标或框架,然后将其链接到我的项目。我不知道如何成功地将 C++ 文件添加到库中?我是否需要将这些文件包装在库中的 Objective-C 中,然后添加库?或者,哪个模板最适合您建议创建的新目标?谢谢。
  • 我更新了我的答案,提供了一个关于在 iOS 中使用 C++ 库的 Stack Overflow 问题的链接。如果您需要更多帮助并且无法找到有关在 iOS 中使用 C++ 库的任何其他 Stack Overflow 问题,请提出一个新问题。你有太多问题让我在评论中回答。我可以告诉你使用窗口右侧的目标成员资格复选框使 C++ 文件成为库目标的成员。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多