如何使用可执行文件将C ++代码合并到Xcode项目中?

时间:2019-07-18 16:07:33

标签: c++ xcode executable

我是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项目链接以及如何调用主函数并传递参数的逐步说明,我将非常感激。

1 个答案:

答案 0 :(得分:0)

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

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

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