Как создать несколько программ на одном проекте

У меня есть пример каталога некоторых программ, который содержит несколько файлов с несколькими main функции. Могу ли я собрать все эти файлы в один проект, скомпилировать их, а затем запустить конкретные, не получая main already defined ошибка? Предположим, я не хочу создавать отдельный проект для каждого файла cpp.

ОБНОВИТЬ

Мне нужно простое решение в один-два клика (если оно существует). Я не хочу распределять файлы по папкам или редактировать содержимое файлов. Например, в Eclipse / Java вы можете щелкнуть правой кнопкой мыши любой файл с помощью main и запустить его. И в одном проекте может быть много основных файлов. Возможно ли это для VisualStudio / CPP?

ОБНОВЛЕНИЕ 2

Я знаю, что C ++ — это не Java, а Visual Studio — это не Eclipse. Мой вопрос об автоматизации некоторых ручных операций.

Решение

Я не работал с OpenCV, но он использует cmake и имеет CMakeLists.txt в каталоге с примерами. Есть некоторые обсуждения о создании примеров с использованием cmake Вот .

КАК СОЗДАТЬ НЕСКОЛЬКО ПРОЕКТОВ В ОДНОМ РЕШЕНИИ VISUAL STUDIO !? 😱

Cmake ничего не собирает сам, он генерирует сценарии сборки для целевой платформы и должен иметь возможность создавать файлы решений и проектов, которые можно загружать в Visual Studio.

Другие решения

Положить те main функции в отдельных пространствах имен, а затем определить, какой из них вы хотите запустить, например.

File1.cpp namespace F1 < int main(int argc, char * argv[]) < // . >> The-real-main.cpp int main(int argc, char * argv[])

редактировать: В ответ на дополнительную информацию.

C ++ — это не Java, а VS — это не Eclipse :). Естественный способ поддерживать несколько программ одновременно в VS — это поместить несколько проектов (по одному для каждого исполняемого файла или библиотеки) в одно решение. Если вы хотите запустить проект, просто щелкните его правой кнопкой мыши в Solution Explorer , Выбрать Set as Startup Project , а затем нажмите Start кнопку, чтобы запустить его.

Читайте также:
Как работать с программой складской учет

Чтобы добавить проект в решение, щелкните правой кнопкой мыши решение и выберите Add | New project. или же Add | Existing project ,

В Visual studio:

Создайте одно «Решение» — под решением можно создать несколько «проектов». Каждый проект будет компилироваться отдельно в исполняемый файл. Компиляция выполняется как обычно, за исключением «разгрузки» ненужных проектов. Чтобы снова открыть один из других проектов, просто выберите «перезагрузить проект» в обозревателе решений.

Эта функция полезна в учебных / организационных целях, когда один группирует исходные файлы в общую «папку» для легкого поиска и доступа, при этом все еще компилируя / отлаживая отдельно. Основное преимущество, которое я могу сказать, заключается в том, что можно легко перемещаться по проектам с помощью обозревателя решений.

Возможно, самым простым решением является использование нескольких конфигураций сборки. Просто создайте несколько конфигураций сборки, определите точку входа для каждой из них.

В Visual Studio вы должны создать один проект на исполняемый файл, который вы хотите создать.

НЕСКОЛЬКО ПРОЕКТОВ В ОДНОМ РЕШЕНИИ | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | Урок # 10

Если требуется построить только один файл, вы можете использовать опцию «Исключить файлы из сборки» в Свойствах, чтобы исключить остальные. Выберите несколько исходных файлов и исключите их одновременно. Очевидно, что это решение не работает, если вы обращаетесь к функциям / символам в файлах.

Источник: web-answers.ru

Практическое руководство. Создание многопроектных шаблонов

Область применения:yesVisual StudionoVisual Studio для Mac noVisual Studio Code

Многопроектные шаблоны используются в качестве контейнера для двух или нескольких проектов. При создании проекта на основе многопроектного шаблона каждый проект в шаблоне добавляется в решение.

Многопроектный шаблон содержит два или несколько шаблонов проектов с корневым шаблоном типа ProjectGroup.

Многопроектные шаблоны ведут себя иначе, чем шаблоны для одного проекта. Они имеют следующие уникальные характеристики:

  • Отдельным проектам в многопроектном шаблоне невозможно назначить имена, если этот шаблон используется для создания проекта. Вместо этого нужно использовать атрибут ProjectName элемента ProjectTemplateLink в файле VSTEMPLATE, чтобы указать имя для каждого проекта.
  • Многопроектные шаблоны могут содержать проекты для разных языков, но сам шаблон можно поместить только в одну категорию. Категория шаблона указывается в элементе ProjectType файла VSTEMPLATE.
Читайте также:
Скрытые программы на Андроид для отслеживания как определить

Многопроектный шаблон должен включать следующие элементы, сжатые в ZIP-файл:

  • Корневой файл VSTEMPLATE для всего многопроектного шаблона. Этот корневой файл VSTEMPLATE содержит метаданные, отображаемые в диалоговом окне создания проекта. Он также указывает место поиска файлов VSTEMPLATE для проектов в этом шаблоне. Этот файл должен находиться в корне ZIP-файла.
  • Две или более папок, содержащих файлы, которые нужны для завершения шаблона проекта. К ним относятся все файлы кода для проекта, а также файл VSTEMPLATE.

Например, ZIP-файл многопроектного шаблона с двумя проектами может иметь следующие файлы и каталоги:

  • MultiProjectTemplate.vstemplate
  • Project1MyTemplate.vstemplate
  • Project1Project1.vbproj
  • Project1Class.vb
  • Project2MyTemplate.vstemplate
  • Project2Project2.vbproj
  • Project2Class.vb

Корневой файл VSTEMPLATE многопроектного шаблона отличается от однопроектного шаблона следующим образом:

    Атрибут Тип элемента VSTemplate имеет значение ProjectGroup вместо Project. Пример:

Project1MyTemplate.vstemplate Project2MyTemplate.vstemplate

Если вам нужно, чтобы в диалоговом окне создания проекта отображался только многопроектный шаблон, а не его отдельные проекты, пометьте внутренние шаблоны как скрытые. Пример:

. true .

Создание многопроектного шаблона из существующего решения

  1. Создайте решения и добавьте два или более проектов.
  2. Настройте проекты для экспорта в шаблон.

Совет Если вы используете параметры шаблона и хотите ссылаться на переменные из родительского шаблона, укажите перед именем параметра префикс ext_ . Например, $ext_safeprojectname$ . Кроме того, задайте атрибуту CopyParameters элемента ProjectTemplateLink значение true.

Примечание Каждый проект необходимо отдельно экспортировать в шаблон, поэтому повторите предыдущие шаги для каждого проекта в решении.

Пример для двух проектов

В этом примере показан простой корневой файл VSTEMPLATE, включающий несколько проектов. В этом примере шаблон содержит два проекта: Мое приложение Windows и Моя библиотека классов. Атрибут ProjectName элемента ProjectTemplateLink задает имя, которое назначено проекту.

Если атрибут ProjectName не указан, в качестве имени проекта используется имя файла VSTEMPLATE.

Multi-Project Template Sample An example of a multi-project template Icon.ico VisualBasic WindowsAppMyTemplate.vstemplate ClassLibMyTemplate.vstemplate

Пример с папками решений

В этом примере используется элемент SolutionFolder для разделения проектов на две группы, Math Classes и Graphics Classes. Шаблон содержит четыре проекта, два из которых размещаются в отдельных папках решения.

Multi-Project Template Sample An example of a multi-project template Icon.ico VisualBasic MathClassLib1MyTemplate.vstemplate MathClassLib2MyTemplate.vstemplate GraphicsClassLib1MyTemplate.vstemplate GraphicsClassLib2MyTemplate.vstemplate

См. также

  • Создание шаблонов проектов и элементов
  • Практическое руководство. создание шаблонов проектов
  • Справочник по схемам шаблонов Visual Studio (расширяемость)
  • Элемент SolutionFolder (шаблоны Visual Studio)
  • Элемент ProjectTemplateLink (шаблоны Visual Studio)
Читайте также:
Рассчитать программу судьбы по дате рождения

Источник: learn.microsoft.com

Вопрос по Visual Studio C#. Как в одном решении делать несколько «проектов»?

введите сюда описание изображения

В методичке задание сделать АТД «Дек». Под это задание выделяется несколько лабораторных работ. Во второй лабе надо сделать сам дек. К нему сделать тесты. В третьей лабе в этом деке реализовать интерфейсы IEnumerable и IClonable. К новым методам сделать тесты и т.д.

У меня в Visual Studio в решении есть консольное приложение с классом дека и библиотека классов с тестами к классу дек. (Lab2 и Lab2_Test на скрине). Я хочу 3 лабу сделать в этом же решении, НО доделав сам дек уже в другом консольном приложении и тесты к классу. Т.е. Заходишь в проект Lab2 и там видишь первоначальный класс дек и класс Program, в котором используется класс дек.

Заходишь в Lab_Test, а там тесты к классу дек из проекта Lab2. Заходишь в Lab3 а там тот же самый дек, только с реализованными интерфейсами. Заходишь в Lab3_Test, а там те же самые тесты + тесты для методов, реализующих наследуемые интерфейсыю Я так и сделал, НО: В обозревателе тестов количество тестов удвоилось. Там тесты из Lab2_Test и из Lab3_Test.

Я хочу, чтобы в обозревателе тестов выполнялись тесты того проекта, который выделен (в обозревателе решений). Когда я компилирую, то запускается консольное приложение из Lab2. Я хочу, чтобы компилировался тот проект, который выделен (в обозревателе решений). Такое в Visual Studio вообще можно сделать (без git)? Если можно, то как?

Отслеживать

задан 6 янв 2018 в 12:10

419 1 1 золотой знак 8 8 серебряных знаков 19 19 бронзовых знаков

Ну сделайте две группы тестов, и запускайте нужную. Делов-то!

6 янв 2018 в 15:53

Я хочу, чтобы в тестах 3 лабы были тесты из второй лабы (соответственно названия у них будут идентичны) и тесты, которые я допишу. И эти тесты тестировали класс в Lab3. Я так и сделал. НО при запуске тестов запускаются и отображаются тесты из Lab2_Test и Lab3_Test. Это забивает панель.

Я хочу видеть тесты только из 3 лабы.

Источник: ru.stackoverflow.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru