Доброго времени суток! Недавно случайно наткнулся на vcpkg и поначалу очень обрадовался как он бодро качает все, что я раньше собирал по много часов. Вооот... А потом начал искать все это из CMake. И получается так, что, например, iconv ищется неплохо, а, например, libmodbus искаться не хочет, а точнее возвращает libmodbus_DIR, в которой лежат cmake-файлы, с которыми мне делать непонятно что. То ли я чего-то недопонял в vcpkg, то ли там нельзя вот так просто искать все библиотеки одинаковым образом и все равно нужно прописывать кучу переменных окружения или совершать иные телодвижения? Спасибо!
Здравствуйте, plastictown, Вы писали:
P>То ли я чего-то недопонял в vcpkg, то ли там нельзя вот так просто искать все библиотеки одинаковым образом и все равно нужно прописывать кучу переменных окружения или совершать иные телодвижения?
На счёт указанной библиотеки не скажу, не пользовался. Но в целом там всё должно работать именно что просто. Если есть какие-то проблемы, то, возможно, это бага. Разработчики многое не успевают проверить, им присылают кучу исправлений, которые они зачастую просто мёржат и всё. Штука хорошая, но ещё сырая и со своими проблемами. Основная проблема — версионность, vcpkg на текущий момент не позволяет установить 2 разных версии одной библиотеки. Так что подходить надо с осторожностью к этому снаряду.
Здравствуйте, Nuzhny, Вы писали:
N>На счёт указанной библиотеки не скажу, не пользовался. Но в целом там всё должно работать именно что просто. Если есть какие-то проблемы, то, возможно, это бага. Разработчики многое не успевают проверить, им присылают кучу исправлений, которые они зачастую просто мёржат и всё. Штука хорошая, но ещё сырая и со своими проблемами. Основная проблема — версионность, vcpkg на текущий момент не позволяет установить 2 разных версии одной библиотеки. Так что подходить надо с осторожностью к этому снаряду.
Проблема с версионностью решается довольно просто. Так как vcpkg — это просто директория, то легко иметь проектозависимые установки. Всяко же необходимо явно инициализировать CMAKE_TOOLCHAIN_FILE.
Здравствуйте, kaa.python, Вы писали:
KP>Проблема с версионностью решается довольно просто. Так как vcpkg — это просто директория, то легко иметь проектозависимые установки. Всяко же необходимо явно инициализировать CMAKE_TOOLCHAIN_FILE.
Всё не так просто (см. там slides.pptx). Это ребята из Nvidia подхачили vcpkg, чтобы из коробки раскладывал свои копии в директории. Но всё равно это хак, а не нормальное решение. Нормальных же пока нет.
Тут Conan может оказаться получше, в нём, вроде, всё можно. Но библиотек мало и на Питоне написан — это минусы.
Здравствуйте, Nuzhny, Вы писали:
N>Всё не так просто (см. там slides.pptx). Это ребята из Nvidia подхачили vcpkg, чтобы из коробки раскладывал свои копии в директории. Но всё равно это хак, а не нормальное решение. Нормальных же пока нет. N>Тут Conan может оказаться получше, в нём, вроде, всё можно. Но библиотек мало и на Питоне написан — это минусы.
Я о другом, мне кажется. Никто же не мешает завести 2 разных vcpkg в разных директориях.