Включите "Шоу Все Файлы" для определенного проекта (Вы, возможно, должны были бы поразить "Обновление" для наблюдения их), **.
папки/файлы, которые не являются частью Вашего проекта , кажутся "немного легче" в дереве проекта.
Щелкают правой кнопкой по папкам/файлам, которые Вы хотите добавить и нажать , "Включают В Проект" . Это рекурсивно добавит папки/файлы к проекту.
** Эти кнопки расположены на мини-панели инструментов Solution Explorer.
** Удостоверяются, что Вы НЕ находитесь в режиме отладки.
Если вам нужно только управление зависимостями, попробуйте Ivy , он прекрасно интегрируется с Ant (и я предполагаю, что NAnt может сделать то же самое, основываясь на этом блоге , на который есть ссылка с сайта Ivy).
Также есть ] Byldan , версия Maven .Net. Но не знаю, насколько хорошо это сработает для вас.
Попробуйте бра, вас зацепит. Марка устарела, сложна и дорога в обслуживании.
Первоначальный ответ : Я бы предложил использовать CMake. Это многоплатформенный генератор файлов make (также генерирует проекты Visual Studio или Eclipse CDT).
У меня действительно хороший опыт работы с ним. Больше всего мне в нем нравится возможность создавать общую структуру проекта. Таким образом, вы можете в общем случае включить поиск подпроектов для модульных тестов и т. Д., Не меняя каждый раз сценарий.
У них также есть много модулей о том, как найти предустановленные библиотеки сборки, необходимые для проекта (например, Boost, QT и т. Д.)
Обновление : Тем временем были предприняты некоторые усилия по внедрению управления пакетами для C ++. Некоторые проекты, на которые стоит обратить внимание:
Примечание , как указано @RAM в комментариях cpm больше не поддерживается.
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
Я рекомендую использовать мать всех систем зависимостей сборки: make.