【问题标题】:xcode multiple main methodsxcode 多个主要方法
【发布时间】:2017-02-21 16:55:20
【问题描述】:

我正在使用 Xcode 进行 c 编程。我有一个名为 system_commands 的项目。在这个项目中,我有一个文件 A 和一个文件 B。

这是文件 A:

int main(int argc, char *argvector[])
{
    char *arguments[] = {"./runProcesses","Hello","World",NULL};
    execvp("./runProcesses", arguments);
    return 0;
}

文件 A 只是简单地“执行”了文件 B,而文件 B 就在这里:

int main(int argc, char *argvector[])
{

    for(int i = 0; i < argc; i++)
    {
        printf("%s", argvector[i]);
    }
//some forks etc
}

显然,Xcode 不允许这样做,因为项目中有两个主要方法。但是有什么解决方法吗?我真的必须创建另一个项目,以便文件位于不同的项目中吗? 或者有没有办法可以在没有 main 方法的情况下执行文件?

【问题讨论】:

    标签: c xcode process main


    【解决方案1】:

    如果您不想要两个项目,您可以为您的第二个程序创建第二个目标(“文件”-“新建”-“目标...”并选择另一个“控制台应用程序”)。把你的另一个main.c 放在那里:

    您还可以转到第一个控制台应用程序的目标设置并为第二个控制台应用程序添加依赖项,这样,只要您运行第一个控制台应用程序,它就会在需要时构建第二个控制台应用程序。

    坦率地说,这种多目标方法是在您拥有一个具有一些共享代码库的应用程序时设计的,但它也可以在这种情况下使用。


    另一种方法是继续拥有多个项目,但在一个“工作区”下使用它们。因此,创建一个文件夹,在该文件夹中创建两个项目,然后创建一个“工作区”(在下面的示例中我称之为“MyProject”)并为两个单独的项目添加两个 xcodeproj 文件(“FirstApp " 和 "SecondApp" 在我下面的示例中)。

    所以,在 Xcode 中它看起来像:

    在文件系统中,它看起来像:

    因此,在这种情况下,您有两个项目,但您可以在一个工作区下一起使用它们,这样可以很容易地同时使用这两个项目。只需打开 xcworkspace 工作区,而不是单独的 xcodeproj 文件。

    【讨论】:

    • 多么棒的答案。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2019-07-04
    • 2011-09-15
    • 1970-01-01
    • 1970-01-01
    • 2022-08-02
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    相关资源
    最近更新 更多