2016-10-12 63 views
2

我使用Xcode進行c編程。我有一個名爲system_commands的項目。這裏面的項目我有一個文件,文件B.xcode多種主要方法

這是文件中的:

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

文件簡單地「執行」文件B和文件B是在這裏:

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

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

顯然,Xcode不會允許這樣做,因爲項目中有兩個主要的方法。但是有沒有一種解決方法?我是否真的需要創建另一個項目,以便這些文件駐留在不同的項目中? 或者有沒有一種方法,我可以execvp()一個文件沒有主要方法?

回答

4

如果您不想要兩個項目,您可以爲第二個程序創建第二個目標(「文件」 - 「新建」 - 「目標...」並選擇另一個「控制檯應用程序」)。把你的其他main.c有:

two targets 您還可以去目標設定爲第一個控制檯應用程序,並添加一個依賴第二控制檯應用程序,這樣一來,將建設第二個,如果需要的話,當你運行第一個。

dependency

坦率地說,當你有一些共享代碼庫的應用程序這種多目標的方法是設計的,但它可以在這種情況下使用了。


另一種方法是繼續並有多個項目,但在單個「工作區」下使用它們。因此,創建一個文件夾,在該文件夾中創建兩個項目,然後創建一個「工作空間」(我在下面的示例中稱爲「MyProject」),併爲兩個單獨的項目(「FirstApp」)添加兩個xcodeproj文件和「SecondApp」在我的例子中)。

所以,在Xcode它看起來像:

workspace

,並在文件系統中,它看起來像:

filesystem

所以,在這種情況下,你有兩個項目,但是您可以在一個工作區內將它們一起使用,使得同時處理兩個項目非常容易。只需打開xcworkspace工作區而不是單個xcodeproj文件。

+0

多好的答案。非常感謝。 – p3ob2lem