Подобное знатоку управление зависимостью для C++? [закрытый]

Включите "Шоу Все Файлы" для определенного проекта (Вы, возможно, должны были бы поразить "Обновление" для наблюдения их), **.

папки/файлы, которые не являются частью Вашего проекта , кажутся "немного легче" в дереве проекта.

Щелкают правой кнопкой по папкам/файлам, которые Вы хотите добавить и нажать , "Включают В Проект" . Это рекурсивно добавит папки/файлы к проекту.

** Эти кнопки расположены на мини-панели инструментов Solution Explorer.

** Удостоверяются, что Вы НЕ находитесь в режиме отладки.

84
задан Meysam 7 February 2016 в 07:44
поделиться

5 ответов

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

Также есть ] Byldan , версия Maven .Net. Но не знаю, насколько хорошо это сработает для вас.

5
ответ дан 24 November 2019 в 08:39
поделиться

Попробуйте бра, вас зацепит. Марка устарела, сложна и дорога в обслуживании.

-5
ответ дан 24 November 2019 в 08:39
поделиться

Первоначальный ответ : Я бы предложил использовать CMake. Это многоплатформенный генератор файлов make (также генерирует проекты Visual Studio или Eclipse CDT).

http://www.cmake.org/

У меня действительно хороший опыт работы с ним. Больше всего мне в нем нравится возможность создавать общую структуру проекта. Таким образом, вы можете в общем случае включить поиск подпроектов для модульных тестов и т. Д., Не меняя каждый раз сценарий.

У них также есть много модулей о том, как найти предустановленные библиотеки сборки, необходимые для проекта (например, Boost, QT и т. Д.)


Обновление : Тем временем были предприняты некоторые усилия по внедрению управления пакетами для C ++. Некоторые проекты, на которые стоит обратить внимание:

  • conan.io интегрируется с основными инструментами сборки:
    • CMake
    • Visual Studio
    • Makefile
    • XCode
    • ...
  • cpm на основе CMake
  • Buckaroo

Примечание , как указано @RAM в комментариях cpm больше не поддерживается.

34
ответ дан 24 November 2019 в 08:39
поделиться

Make и GCC - отличная комбинация для действительно хорошей проверки зависимостей.

GCC может автоматически генерировать файлы зависимостей make (переключатель командной строки -MD), чтобы иметь возможность перестроить все исходные файлы, которые, например, зависят от данного заголовка.

У меня есть несколько простых правил, которые я вырезал и вставил в свои make-файлы:

# compile c files   
%.o:    %.c
    ${CC} ${CFLAGS} -c $< -MD -MF $(<:%.c=%.dep) -o $@

# compile c++ files
%.opp:  %.cpp
    ${CPP} ${CPPFLAGS} -c $< -MD -MF $(<:%.cpp=%.dep) -o $@

Теперь, если ваши объектные файлы объявлены, скажем, в списках OBJ_C и OBJ_CPP:

.PHONY: cleandep
cleandep:
    rm -f $(OBJ_C:%.o=%.dep) $(OBJ_CPP:%.opp=%.dep)

-include $(OBJ_C:%.o=%.dep) $(OBJ_CPP:%.opp=%.dep)

Make, конечно, может отслеживать зависимости с другими проектами и тому подобное, например, при необходимости перестраивать совместно используемую библиотеку.

Например, если другие ваши команды всегда помещают свои последние библиотеки DLL в какую-либо общую папку:

myapp: ${SRC_CPP} ${LIB_DIR}other_team.lib
  ...

${LIB_DIR}other_team.lib: /shared_folder/latest/other_team.lib
  cp /shared_folder/latest/other_team.lib ${LIB_DIR}other_team.lib
3
ответ дан 24 November 2019 в 08:39
поделиться

Я рекомендую использовать мать всех систем зависимостей сборки: make.

-3
ответ дан 24 November 2019 в 08:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: