Повышение связи, Visual Studio и контроль версий - PullRequest
5 голосов
/ 26 августа 2009

Я использую Visual Studio 2008 и пишу некоторые вещи на C ++. Я использую библиотеку Boost (то есть , а не только заголовок).

Таким образом, для ссылки на Boost требуется добавить каталог в двоичные файлы Boost в настройку проекта «Дополнительные пути компоновщика».

Однако, не противоречит ли это управлению исходным кодом? Если я проверю файлы проекта, не будет ли в них также включен абсолютный путь к Boost libs на моем компьютере ?

Я, очевидно, не хочу, чтобы это произошло, так что мне делать? Просто добавление каталога Boost в «Каталоги / Библиотеки Visual C ++» не работает.

Ответы [ 5 ]

4 голосов
/ 26 августа 2009

Добавление путей повышения в «Каталоги Visual C ++» должно работать. Вы должны добавить включающий путь <Full path here>\boost_1_39_0 (без повышения в конце)
и путь к библиотеке <Full path here>\boost_1_39_0\bin.v2\lib (bin.v2 - это директория сцены, которая в вашем случае может отличаться).

Лично я храню источники повышения в моем контроле источников и использую относительные пути в настройках проекта.

1 голос
/ 26 августа 2009

Вы говорите VS о Boost для каждого компьютера, а не для каждого проекта. Так же, как DirectX и другие библиотеки, которые не являются специфическими для проекта. Мы считаем разумным предположить, что повышение используется более чем в одном проекте.

Мы не отслеживаем внешний источник библиотеки в нашем проекте SCM, если мы не знакомы с деталями реализации (исправления или что-то еще). Для boost, directx, windows sdk нам просто нужно, чтобы вы запустили соответствующий установщик и установили VC++ Directories при настройке среды разработки.

1 голос
/ 26 августа 2009

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

Затем мы ссылаемся на каталоги include и source в свойствах проекта. Мы не используем каталоги Visual C ++, поскольку это слишком сильно зависит от расположения файлов в системах разных разработчиков, а также не позволяет отслеживать версии библиотек.

Единственным исключением является платформа SDK при разработке с vc6.

Бесстыдный плагин: теперь мы управляем настройками нашего проекта vc с помощью CMake, и это значительно облегчает эти задачи, особенно для крупных проектов.

1 голос
/ 26 августа 2009

Мы используем репозиторий, содержащий сторонние библиотеки, затем используем svn:externals для извлечения необходимых частей в базовый каталог проекта, наконец, используем относительные пути для дополнительных каталогов include и библиотеки в файле проекта. Работает хорошо, единственным недостатком является то, что вы можете получить несколько буст-копий на жестком диске. Используя соединения (версия символических ссылок Windows только для каталогов, работает, по крайней мере, с Win2k, не уверен насчет NT), вы можете избавиться от потерянного пространства.

0 голосов
/ 26 августа 2009

Я использую переменную окружения BOOST_ROOT для некоторых вещей, и она работает нормально. Вы должны вручную создать его, а затем установить пути в файлах проекта как «$(BOOST_ROOT)\include» и «$(BOOST_ROOT)\lib» (или что-либо другое, что использует ваш макет). Затем каждый должен установить BOOST_ROOT на своих компьютерах, чтобы указать на их Boost-установку.

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