Связывание библиотеки, расположенной по разным путям для разных пользователей - PullRequest
0 голосов
/ 14 декабря 2018

Работая в Windows с Visual Studio, у меня есть проект, лежащий в репозитории git.Мне нужно связать с этой библиотекой для компиляции.Мне бы хотелось, чтобы этот проект строился на разных компьютерах, на которых библиотека может располагаться по разным путям (очень большая библиотека, которую я не могу встроить как подмодуль или как зависимость)

Как я могу сделать так, чтобыУчастники моего репозитория могут настроить проект и выбрать местоположение библиотеки, фактически не изменяя файл проекта (.vcxproj), который отслеживается git?Должен ли я узнать, как использовать CMAKE и вообще не фиксировать файл проекта?

Спасибо;)

Примечание: я должен добавить, что библиотека является статической библиотекой .lib, и я подумалс помощью комментария #pragma (lib, "yourLibrary.lib"), но это будет также указано в исходном коде, что не подходит для моих нужд

Кроме того, я хотел бы установить этот "пользовательский" путь к библиотеке изграфический интерфейс Visual Studio, а также из командной строки, если бы я должен был вызвать "MSBUILD myproject.sln"

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

Я бы использовал cmake для кроссплатформенных проектов, но VS вполне подойдет для коробок только для Windows.Изменение пути к библиотеке на разных машинах является распространенным случаем, и VS должен с этим легко справиться.Специфичные для пользователя переопределения пути по умолчанию должны автоматически сохраняться VS в отдельный файл, который не нужно будет регистрировать. Прошло много времени с тех пор, как я использовал VS, но похоже, что это будет работать :).

0 голосов
/ 14 декабря 2018

Это вопрос, основанный на мнениях, но я постараюсь охватить два варианта, которые вы могли бы рассмотреть.

Первый - использование переменной окружения.Когда вы указываете библиотеку ссылок в VS, вы используете эту переменную.Это относится к части msbuild, но не относится к части VS GUI, так как вам потребуется перезапустить VS.

CMake - действительно другое решение.Из его графического интерфейса вы можете установить путь к библиотеке, он генерирует решение для нужного вам компилятора (почти для любой версии VS и 32 / 64бит + Linux).

Вы получаете графический интерфейс для изменения путив VS, но вы теряете возможность установить путь в командной строке как msbuild (вам нужно изменить его в CMake GUI или CmakeCache.txt).

Прагма-версия - это опция no-no.Это не решает проблему PATH должным образом и не является переносимым.

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