2011-02-23 25 views
4

我有一個Eclipse項目。所有的測試用例都在一個* .cpp文件中。問題是,這樣我最終有兩個main()函數。一個用於應用程序本身,另一個用於測試用例。而Eclipse當然拒絕構建......我想將所有東西放在一個項目下(並避免有多個配置,SVN存儲庫等)。理想情況下,我想強制Eclipse構建兩個可執行文件(一個用於應用程序,一個用於測試用例)。我快速瀏覽了Eclipse Makefile,但說實話,我不太明白它的工作原理。有可能總是排除Main.cpp/Testcases.cpp並構建一個可執行文件,但它不是非常優雅...gTest和多個主要()

任何有類似經歷的人?

回答

1

除了libgtest之外,你還在使用libgtest_main嗎?如果你沒有鏈接libgtest_main,你應該很好。

如果要使用Eclipse CDT創建兩個可執行文件,最簡單的方法是讓每個可執行文件都有一個單獨的項目。如果你有共同的代碼,你可以有一個項目參考。

+1

我創建了一個新項目,其中包含Testcases.cpp,並鏈接/引用主項目的src和include文件夾(必須從構建測試項目的主項目中排除Main.cpp)。謝謝。 – Petr 2011-02-23 20:23:30

5

我偶然發現這個鏈接非常有幫助:http://pezad-games.googlecode.com/svn/trunk/GTestTest/HOWTO

作者描述瞭如何在eclipse中使用一個項目設置gtest,同時使用main()方法創建兩個源文件:一個位於名爲「src」的目錄中,另一個位於名爲「test」的目錄中。

爲此他引入了一個新的配置(除了調試/發佈)稱爲「GTEST」 - 在這種配置中的所有連接器/報頭包括被設置爲GTEST並且還一個排除到src/[主要]的.cpp:

屬性的main.cpp >> C/C++編譯>>設置:從生成

在另一側DEBUG & RELEASE CONFIGS排除資源 排除測試/ [main_test]的.cpp。