Visual Studio 2010 C ++ Структура проекта - PullRequest
0 голосов
/ 29 января 2012

Я создал класс C ++, который принимает путь к файлу и шаблон файла от пользователя и ищет шаблон файла в указанном месте.Пример: C: \ MyProject * .cpp перечисляет все файлы .cp в указанном месте.

Я могу успешно собрать и скомпилировать проект.Теперь я хочу иметь другой проект с именем Executive, который просто содержит main () и делает то же самое, что и класс C ++, упомянутый выше.

Прямо сейчас структура выглядит следующим образом:

VS2010 Solution
  - Navigator
      -Headers
          f1.h
          f2.h
          f3.h
      -Source
          f1.cpp
          f2.cpp
          f3.cpp

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

Мой вопрос заключается в том, что в проекте Executive с тем же решением имеется файл main.cpp и, вероятно, также потребуются копии всех файлов * .h проекта навигатора.Нужно ли также копировать файл * .cpp навигатора в проект Executive для работы main?Или я должен просто указать main в проекте Executive и добавить проект Navigator в качестве ссылки на проект Executive?

1 Ответ

2 голосов
/ 29 января 2012

Откройте решение в Visual Studio, в окне «Новый проект» выберите опцию «Добавить в решение» из этого выпадающего меню и назовите его «Исполнительный».

Теперь, когда у вас есть несколько проектов под одним решением, вы можете перейти к свойствам.исполнительного проекта и в C / C ++ -> General установите для параметра «Добавить дополнительные каталоги» значение ../Navigator/Headers;../Navigator/Source;.

. Затем во все исходные файлы исполнительного проекта можно включить файлы .cpp из проекта Navigator, например: #include "f1.cpp".Нет ничего плохого в том, чтобы включить файл .cpp.

Но , гораздо лучше было бы, если бы вы открыли Свойства проекта Navigator -> Общие, измените Тип конфигурации на Статическая библиотека (.lib).А затем в проекте Executive вы задаете для дополнительных подключаемых каталогов значение ../Navigator/Headers;, а в Linker -> General - для дополнительных папок библиотеки задаете выходную папку проекта Navigator (если вы не изменили ее выходной каталог, то для конфигурации отладки это ../Debug).и ../Release) и в Linker -> Input добавьте ;Navigator.lib в конце дополнительных зависимостей.Тогда в исходные файлы исполнительного проекта нужно включить только файлы .h.Чтобы убедиться, что проект Navigator создается перед проектом Executive при создании всего решения, вы можете перейти к его свойствам -> Зависимости проекта и установить там, что проект Executive зависит от проекта Navigator.

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