Как создать две сети в проекте C ++ Eclipse - PullRequest
8 голосов
/ 19 июня 2009

У нас есть программа, которая запускается отдельно и выполняется командой execvp. Поэтому ему нужен основной метод, но я считаю, что это создает проблему для затмения управляемой модели. Нужно ли хранить этот код в отдельном проекте или есть способ включить его в тот же проект Eclipse?

Ответы [ 5 ]

7 голосов
/ 23 июня 2009

Создайте проект для каждого исполняемого файла, который имеет функцию main (), и создайте дополнительный проект для представления программного обеспечения в целом (своего рода «контейнерный» проект). Eclipse позволяет вам указывать проекты в качестве зависимостей от других проектов, и в этом случае вы захотите настроить контейнерный проект для перечисления других проектов как «ссылочные проекты».

Для этого создайте контейнерный проект, затем щелкните правой кнопкой мыши проект в левом столбце (проводник проекта) и выберите «Свойства». Появится диалоговое окно. Выберите элемент «Ссылки на проекты» в списке слева, и вы увидите список всех проектов, с которыми Eclipse в настоящее время работает. Установите флажки рядом с проектами для ваших отдельных исполняемых файлов, затем нажмите OK. Теперь, когда вы выполняете сборку проекта контейнера, Eclipse должен автоматически выполнить сборку и для этих зависимых проектов.

При использовании подпроектов таким образом, я (лично) счел полезным создать рабочий набор, который включает в себя контейнерный проект и все подпроекты (это может упростить поиск по всему программному проекту).

3 голосов
/ 19 июня 2009

Храните его в одном и том же проекте и используйте препроцессор, который определяет, который вы определяете по-разному, в зависимости от того, какую основную часть вы хотите включить в текущий проект. Здесь сети находятся в одном файле, но, конечно, они могут находиться в разных файлах.

#if defined(MAIN_ONE)
int main()
{
    // Do stuff
}
#elif defined(MAIN_TWO)
int main()
{
    // Do some other stuff
}
#endif
1 голос
/ 21 июня 2009

Я не знаю ни одного простого способа построить две сети, используя систему сборки Eclipse. Наименьшее изменение, которое вам нужно сделать, это перейти к make-файлам и использовать цели makefile для сборки.

Вместо этого я бы посоветовал вам перейти на использование CMake. CMake можно использовать для генерации make-файлов, которые будут использоваться с eclipse. Преимущество, которое вы получаете от использования CMake, заключается в том, что вы можете легко указать, как создавать библиотеки и связывать библиотеки для формирования исполняемых файлов. CMake может генерировать сборки для Eclipse, Visual Studio, блоков кода или make-файлов (поэтому вы можете использовать командную строку).

1 голос
/ 19 июня 2009

Если вызываемый make-файл не компилирует 2 метода main () в один и тот же исполняемый файл, это не вызовет проблемы. Я не знаю, как обрабатываются проекты Eclipse - если это похоже на VS, где «проект» означает один исполняемый файл или библиотеку, а «решение» - это группа «проектов», то, похоже, вам потребуется более одного проект. Если, OTOH, «проект» может содержать разные «подпроекты», где «подпроект» является исполняемым файлом или библиотекой, вы сможете легко справиться с этим.

0 голосов
/ 21 июня 2014

Это построено на языке C ++. Вы должны изменить его, чтобы получить свой результат. Есть что-то, что можно сделать 2 вещи одновременно , если вы этого хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...