2011-02-23 6 views
4

У меня есть проект Eclipse. Все тестовые файлы находятся в одном файле * .cpp. Проблема в том, что таким образом я получаю две основные функции(). Один для самого приложения и один для тестовых. И Eclipse, конечно, отказывается строить ... Я хотел бы держать все вместе в рамках одного проекта (и избегать нескольких конфигураций, SVN-репозиториев и т. Д.). В идеале я хотел бы заставить Eclipse построить два исполняемых файла (один для приложения и один для тестовых). Я быстро посмотрел на Makefile Eclipse, но, честно говоря, я не совсем понимаю, как именно он работает. Можно всегда исключать Main.cpp/Testcases.cpp и создавать один исполняемый файл, но он не очень изящный ...gTest и несколько основных()

Кто-нибудь с похожим опытом?

ответ

1

Вы связались с libgtest_main в дополнение к libgtest? Если вы не ссылаетесь на libgtest_main, вы должны быть хорошими.

Если вы хотите создать два исполняемых файла с помощью Eclipse CDT, самый простой способ состоит в том, чтобы каждый исполняемый файл имел отдельный проект. Если у вас есть общий код, у вас может быть одна ссылка на проект.

+1

Я создал новый проект, в котором есть Testcases.cpp, и ссылку/ссылку на src и включить папки из основного проекта (необходимо было исключить Main.cpp из основного проекта из сборки проекта Testing). Благодарю. – Petr

5

Я наткнулся на эту ссылку, которая была очень полезной: http://pezad-games.googlecode.com/svn/trunk/GTestTest/HOWTO.

Автор описывает, как установить gtest с одним проектом в eclipse, имея два исходных файла с методами main(): один в каталоге под названием «src», а другой в каталоге «test».

Therefor он вводит новую конфигурацию (помимо DEBUG/RELEASE) под названием «GTEST» - в этой конфигурации все линкер/заголовок включает в себя устанавливаются GTEST и также исключить в SRC/[основной] .cpp:

Свойства для main.cpp >> C/C++ построить >> Настройки: Исключить ресурс из сборки

на другой стороне DEBUG & РАСПРОСТРАНЕНИЯ конфиги исключает тест/[main_test] .cpp.

Смежные вопросы