5

私はEclipseプロジェクトを持っています。すべてのテストケースは 1 つの *.cpp ファイルにあります。問題は、この方法で 2 つの main() 関数が作成されることです。1 つはアプリ自体用で、もう 1 つはテストケース用です。もちろん、Eclipseはビルドを拒否します...すべてを1つのプロジェクトの下にまとめたいと思います(複数の構成、SVNリポジトリなどは避けてください)。理想的には、Eclipse に 2 つの実行可能ファイル (アプリ用とテストケース用) を強制的にビルドさせたいと考えています。Eclipse の Makefile をざっと見ましたが、正直なところ、それがどのように機能するのかよくわかりません。Main.cpp/Testcases.cpp を常に除外して 1 つの実行可能ファイルをビルドすることは可能ですが、あまりエレガントではありません...

似たような経験をした人はいますか?

4

2 に答える 2

7

非常に役立つこのリンクにつまずいた: http://pezad-games.googlecode.com/svn/trunk/GTestTest/HOWTO

著者は、Eclipse で 1 つのプロジェクトを使用して gtest をセットアップする方法を説明していますが、main()メソッドを含む 2 つのソース ファイルがあります。

そのため、彼は "GTEST" と呼ばれる新しい構成 (DEBUG/RELEASE 以外) を導入します。この構成では、すべてのリンカー/ヘッダー インクルードがgtestに設定され、src/[main].cpp への除外も設定されます。

main.cpp のプロパティ >> C/C++ ビルド >> 設定: ビルドからリソースを除外

一方、DEBUG & RELEASE 構成は test/[main_test].cpp を除外します。

于 2012-10-05T11:59:19.337 に答える
2

libgtest に加えて libgtest_main とリンクしていますか? libgtest_main にリンクしなければ問題ありません。

Eclipse CDT で 2 つの実行可能ファイルを作成する場合、最も簡単な方法は、各実行可能ファイルに個別のプロジェクトを持たせることです。共通のコードがある場合は、あるプロジェクトを別のプロジェクトに参照させることができます。

于 2011-02-23T19:37:57.743 に答える