Git and Visual Studio 2010 Экспресс

Некоторое время я использовал Visual Studio 2010 Express и довольно долго играл с некоторыми обширными проектами. Поскольку у меня около 50-60 файлов и тысячи строк кода, я решил сделать некоторый контроль над исходным кодом для всего, чтобы проект был легче обновлен и доступен для всех моих устройств, а также для резервного копирования.

Я использовал git раньше и мне это удобно, но теперь, когда я сделал коммит и отправил его в удаленный репозиторий на bitbucket.org, я обнаружил, что файлы .vcxproj, сохраняя правильную структуру файлов, также сохранили включение и каталоги lib для устройства, с которого оно было выдвинуто, что означает, что при извлечении на другой компьютер эти каталоги include / lib будут искать неправильные каталоги, что означает, что мне придется пересматривать все из них каждый раз, когда я извлекаю / нажимаю.

Мой вопрос, могу ли я в любом случае отправить файлы в хранилище таким образом, чтобы решение сохраняло настройки папки, а не параметры каталога include и lib?

Редактировать:

После некоторых исследований я изучил эти так называемые таблицы свойств в Visual Studio, которые представляют собой файлы, которые можно добавить в ваш проект. Установленные вами настройки имеют приоритет над настройками проекта, но есть и загвоздка, если вы добавите отдельный файл свойств в проект, а затем добавите файл .sln и различные файлы .vcxproj без этого .props файл, а затем кто-то еще клонирует из хранилища, он не откроется, потому что, очевидно, требует этот файл реквизита.

В этом отношении мне хотелось бы получить файл .props по умолчанию в удаленном репозитории, который после клонирования больше не отслеживается, и тогда этот пользователь может просто отредактировать его для себя. Я не знаю достаточно о мерзавцах, чтобы это произошло. У кого-нибудь есть идея?

2

Решение

Я не уверен, что именно ваша проблема, но вот мое понимание:

  1. Файлы вашего проекта содержат абсолютные пути (например, «C: \ myproj \ include»). Замените их относительными путями (например, «. \ Include»). Помогает переменная «$ (SolutionDir)»: если файл вашего решения — C: \ myproj \ myproj.sln, то «$ (SolutionDir) include» совпадает с «C: \ myproj \ include». Вы можете изменить каталоги include и библиотеки в Свойства проекта> Свойства конфигурации> C / C ++ и Linker соответственно.

  2. Для вашего проекта требуются сторонние библиотеки — например, boost — и они находятся за пределами вашего проекта, например, C: \ boost. К сожалению, в Windows / VS нет стандартного расположения сторонних библиотек, поэтому вы можете:

    • Включите библиотеку в свой проект. Это отлично подходит для небольших библиотек, но это не то, что вы хотели бы сделать с чем-то вроде boost, который одновременно большой и имеет тенденцию широко использоваться.
    • Обязать все устройства устанавливать эти библиотеки в одном месте, например, C: \ SDK
    • Используйте переменную среды, например, $ (SDK_DIR) в проекте, и все устройства должны установить эту переменную среды.

Позвольте мне знать, если это помогает.

1

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

То, что вы ищете, это грязное пятно и чистые фильтры. Вам придется написать скрипт для очистки, но sed, вероятно, отлично справится с этой задачей, вам не понадобится настоящий xml-разбор.

0

По вопросам рекламы [email protected]