2009-06-18 21 views
8

我們已經有了一個單獨運行的程序,用execvp命令執行。所以它需要一個主要方法,但是我認爲這對使用託管make進行日食會產生問題。我們是否需要將這些代碼隔離到一個單獨的項目中,或者是否有將其整合到同一個eclipse項目中的方法?如何在eclipse C++項目中創建兩條市電

回答

1

如果被調用的makefile沒有將2個main()方法編譯到同一個可執行文件中,它不會導致問題。我不知道如何處理eclipse項目 - 如果它像VS,其中「項目」意味着單個可執行文件或庫,「解決方案」是一組「項目」,那麼看起來你需要多個項目項目。如果OTOH,一個「項目」可以包含不同的「子項目」,其中「子項目」是一個可執行文件或庫,那麼您應該能夠輕鬆處理。

3

將它保留在同一個項目中,並使用預處理程序定義您根據當前項目中要包含的主類型而定義的不同。這裏的主電源位於同一個文件中,但它們當然可以駐留在不同的文件中。

#if defined(MAIN_ONE) 
int main() 
{ 
    // Do stuff 
} 
#elif defined(MAIN_TWO) 
int main() 
{ 
    // Do some other stuff 
} 
#endif 
1

我不知道任何使用Eclipse構建系統構建兩條市電的簡單方法。您需要做的最小更改可能是轉換爲makefile並使用makefile目標進行構建。

相反,我建議你轉向使用CMake。 CMake可以用來生成用於eclipse的makefile。使用CMake的好處是,您可以輕鬆地說明如何構建庫和鏈接庫以形成可執行文件。 CMake可以爲Eclipse,Visual Studio,Code Blocks或makefiles生成構建版本(因此您可以使用命令提示符)。

7

爲每個具有main()函數的可執行文件創建一個項目,並創建一個表示整個軟件的附加項目(一個「容器」項目)。 Eclipse允許您將項目指定爲其他項目的依賴項,在這種情況下,您需要設置容器項目以將其他項目列爲「引用項目」。

爲此,創建容器項目,然後右鍵單擊左側列(項目瀏覽器)中的項目,然後單擊「屬性」。將出現一個對話框。選擇左側列表中的「Project References」項目,您將看到Eclipse當前正在使用的所有項目的列表。選中各個可執行文件項目旁邊的複選框,然後單擊確定。現在,當您在容器項目上執行構建時,Eclipse也應自動執行對這些相關項目的構建。

以這種方式使用子項目時,我(親自)發現創建一個包含容器項目和所有子項目(這可以使搜索整個軟件項目更容易)的工作集很有用。

+0

您如何阻止集裝箱項目抱怨它沒有「全部」或「乾淨」的目標?其次,你如何指定子項目的建設順序? (現在我的一套項目包括一個建立所有其他項目所依賴的圖書館的項目,但是圖書館不是首先建造的(變幻莫測的命名),這意味着我需要兩次建造這個容器項目) – Urhixidur 2017-03-10 17:26:33

0

這是建立在C++語言。你將不得不修改它來獲得你的結果。有事可做2件事一次如果這是你想要的。