Общие библиотеки
От: x-code  
Дата: 10.03.19 11:34
Оценка: -1
Давайте составим список общих библиотек, часто применяемых в проектах.
Этакий мета-буст.
У меня заведена папка d:/Libs, в которой централизованно живут такие библиотеки. Пока их немного, но постепенно набирается.
1. boost
2. DXSDK
3. GTK
4. LLVM
5. MPIR
6. MySQL
7. OpenGL
8. OpenSSL
9. pthreads
10. pugixml
11. Qt
12. Qwt
13. Qxt
14. Zlib

есть ли аналогичная коллекция у вас?
Re: Общие библиотеки
От: m2l  
Дата: 10.03.19 20:50
Оценка: +3
Здравствуйте, x-code, Вы писали:

XC>Давайте составим список общих библиотек, часто применяемых в проектах.


— темы уже были, потребности и соответственно либы у народа сильно разные
— github переполнен всевозможными awesomes lists
— централизовано эти либы живут плохо, потому как тот же QT или Boost из твоего списка между версиями ломают совместимость по чуть-чуть. И код трех-четырех летний давности в легкую не соберется. И когда срочно надо что-то поправить в проекте которого давно не касался все превращается в боль. Плюс при командной разработке версии фиксируются, и как правило на пару лет отстают от mainline, что добавляет чехарды.
Re: Общие библиотеки
От: Vain Россия google.ru
Дата: 12.03.19 05:36
Оценка:
Здравствуйте, x-code, Вы писали:

XC>есть ли аналогичная коллекция у вас?

4 попадания. Но тут больше интересно чем собираешь?
Вот коллекцию сейчас нужно делить, как минимум пополам, половину в проект в подпапку 3dparty и половину в экстернал отдельным чекаутом в отдельную папку. Как такой разнос по папкам собирать? Да ещё разные платформы и каждая либа со своим велосипедом для сборок.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re: Общие библиотеки
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 12.03.19 13:40
Оценка:
Здравствуйте, x-code, Вы писали:

XC>Давайте составим список общих библиотек, часто применяемых в проектах.

XC>Этакий мета-буст.
XC>У меня заведена папка d:/Libs, в которой централизованно живут такие библиотеки. Пока их немного, но постепенно набирается.
XC>есть ли аналогичная коллекция у вас?

В таком виде нет. Но необходимость в такой коллекции есть у разработчиков, некий удобный вариант питоновского pip или шарпововского nuget. И Майкрософт написала для плюсов классную штуку — vcpkg. Смотрел на неё краем глаза пока, но всё нравится. Если бы была необходимость создавать богатую библиотеку, то делал бы с помощью vcpkg.
Re: Общие библиотеки
От: AlexGin Беларусь  
Дата: 19.03.19 18:49
Оценка: :)
Здравствуйте, x-code, Вы писали:

XC>Давайте составим список общих библиотек, часто применяемых в проектах.

XC>Этакий мета-буст.
XC>У меня заведена папка d:/Libs, в которой централизованно живут такие библиотеки. Пока их немного, но постепенно набирается.
XC>1. boost
XC>2. DXSDK
XC>3. GTK
XC>4. LLVM
XC>5. MPIR
XC>6. MySQL
XC>7. OpenGL
XC>8. OpenSSL
XC>9. pthreads
XC>10. pugixml
XC>11. Qt
XC>12. Qwt
XC>13. Qxt
XC>14. Zlib

XC>есть ли аналогичная коллекция у вас?

Начнём с того, что это всё — СОВЕРШЕННО РАЗНЫЕ понятия. Зачем их стричь_под_одну_гребенку?

Упомяну то, чем пользуюсь на сегодняшний день:
Qt — больше, чем просто библиотека, это можно сказать: универсальные средства_разработки + библиотека.
boost — хорошая библиотека, но именно библиотека (почти что универсальная).
Qwt — набор специфичных виджетов для Qt.
OpenGL — специализированная библиотека.
MySQL — это вообще-то СУБД. Здесь, вероятно, надо было упомянуть библиотеку работы с ODBC: OTL.

Добавлю ещё немного того, с чем работал:
OpenCV — обработка изображений,
LAPAK (линейная алгебра),
ns-3 — симулятор сети связи.

Это также очень разные библиотеки, но...
...раз пошла такая пьянка...

P.S. Вопрос: для чего тебе pugixml, если boost работает с XML?
Если есть мощный кроссплатформенный инструмент: Qt, прекрасно реализующий многопоточность, для чего тебе pthreads?
Не слишком ли много сущностей?
Отредактировано 19.03.2019 18:53 AlexGin . Предыдущая версия . Еще …
Отредактировано 19.03.2019 18:51 AlexGin . Предыдущая версия .
Re[2]: Общие библиотеки
От: Vain Россия google.ru
Дата: 25.03.19 02:01
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>И Майкрософт написала для плюсов классную штуку — vcpkg. Смотрел на неё краем глаза пока, но всё нравится. Если бы была необходимость создавать богатую библиотеку, то делал бы с помощью vcpkg.

И какой смысл сего?
Я к тому, что когда ты берёшь какую-то библу, то внезапно (как обычно) выясняется, что её надо ручками собирать как-то по-особому, по-своему, так сказать, причем бывает по-разному для разных версий, пример, тот же буст, у которого тьма ключей. Да ещё никто за тебя её сам конечно же не будет собирать. Получается собрав буст ты просто можешь его скопировать себе куда надо без всяких пакетных систем. Тогда нафига эти пакетные системы нужны, если я всё-равно за них всё сам собираю и кладу куда надо?

Как мне видится, один общий недостаток всех этих пакетных систем, который постоянно повторяется в той или иной форме, это как только ты не находишь в списке того, что тебе нужно, то эта пакетная система сразу отваливается, ибо самому приходится собирать и подкладывать.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Отредактировано 25.03.2019 2:02 Vain . Предыдущая версия .
Re[3]: Общие библиотеки
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 25.03.19 08:07
Оценка:
Здравствуйте, Vain, Вы писали:

V>И какой смысл сего?

V>Я к тому, что когда ты берёшь какую-то библу, то внезапно (как обычно) выясняется, что её надо ручками собирать как-то по-особому, по-своему, так сказать, причем бывает по-разному для разных версий, пример, тот же буст, у которого тьма ключей. Да ещё никто за тебя её сам конечно же не будет собирать. Получается собрав буст ты просто можешь его скопировать себе куда надо без всяких пакетных систем. Тогда нафига эти пакетные системы нужны, если я всё-равно за них всё сам собираю и кладу куда надо?

В чём смысл единого и согласованного хранения своих библиотек? Чтобы в них не путаться! Буст может быть нужен разных версий для разных релизов — пусть всё аккуратно и единообразно лежит в своём месте. Тут весь смысл именно в упорядоченности и единообразии.

V>Как мне видится, один общий недостаток всех этих пакетных систем, который постоянно повторяется в той или иной форме, это как только ты не находишь в списке того, что тебе нужно, то эта пакетная система сразу отваливается, ибо самому приходится собирать и подкладывать.


Так это не какая-то статическая пакетная система, с которой ты ничего не можешь сделать, а альтернатива всяким самопальным сборочным системам, где пакеты и библиотеки должны лежать в строго определённых местах, как на компе Главного разработчика. Тот же CMake отчасти решает проблему, но не полностью.
Re[4]: Общие библиотеки
От: Vain Россия google.ru
Дата: 25.03.19 10:31
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>В чём смысл единого и согласованного хранения своих библиотек? Чтобы в них не путаться! Буст может быть нужен разных версий для разных релизов — пусть всё аккуратно и единообразно лежит в своём месте. Тут весь смысл именно в упорядоченности и единообразии.

В чём проблема это делать ручками? Непонятно в чём профит именно от утилиты.

N>Так это не какая-то статическая пакетная система, с которой ты ничего не можешь сделать, а альтернатива всяким самопальным сборочным системам, где пакеты и библиотеки должны лежать в строго определённых местах, как на компе Главного разработчика. Тот же CMake отчасти решает проблему, но не полностью.

Непонятно причём здесь сборочная система. К тому же как утилита избавляет от написания симейк скриптов поиска библиотек. Тот же find_package надо прописывать ручками и к нему прописывать где-то переменные, специфичные для каждой библиотеки, включая переменную-путь к библиотеке. Как сия утилита это должна разрешать? А если я туже библиотеку захотел не через find_package подключать, а через add_subdirectory, то что тогда?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[5]: Общие библиотеки
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 25.03.19 10:46
Оценка:
Здравствуйте, Vain, Вы писали:

V>В чём проблема это делать ручками? Непонятно в чём профит именно от утилиты.


Автоматизация рутины и порядок из коробки.

V>Непонятно причём здесь сборочная система. К тому же как утилита избавляет от написания симейк скриптов поиска библиотек.


Потому что с ней всё это проще, особенно под Windows (если проекты кроссплатформенные, то это удобно).

V>Тот же find_package надо прописывать ручками и к нему прописывать где-то переменные, специфичные для каждой библиотеки, включая переменную-путь к библиотеке. Как сия утилита это должна разрешать? А если я туже библиотеку захотел не через find_package подключать, а через add_subdirectory, то что тогда?


Подключай как хочешь, проблем никаких нет. Библиотека позволяет всё сделать проще и автоматически. Если хочется сложностей и кастома, то никто не мешает.
Re[6]: Общие библиотеки
От: Vain Россия google.ru
Дата: 26.03.19 01:14
Оценка:
Здравствуйте, Nuzhny, Вы писали:

V>>Непонятно причём здесь сборочная система. К тому же как утилита избавляет от написания симейк скриптов поиска библиотек.

N>Потому что с ней всё это проще, особенно под Windows (если проекты кроссплатформенные, то это удобно).
Не понял почему проще, утилита за тебя скрипты писать научилась?

V>>Тот же find_package надо прописывать ручками и к нему прописывать где-то переменные, специфичные для каждой библиотеки, включая переменную-путь к библиотеке. Как сия утилита это должна разрешать? А если я туже библиотеку захотел не через find_package подключать, а через add_subdirectory, то что тогда?

N>Подключай как хочешь, проблем никаких нет. Библиотека позволяет всё сделать проще и автоматически. Если хочется сложностей и кастома, то никто не мешает.
Так и не услышал конкретики в чём же проще написание скриптов.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[7]: Общие библиотеки
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 26.03.19 06:07
Оценка:
Здравствуйте, Vain, Вы писали:

V>Не понял почему проще, утилита за тебя скрипты писать научилась?


Да, научилась. В простейшем случае ничего писать не надо, просто используешь любую библиотеку из доступных.
Re[8]: Общие библиотеки
От: Vain Россия google.ru
Дата: 27.03.19 07:04
Оценка:
Здравствуйте, Nuzhny, Вы писали:

V>>Не понял почему проще, утилита за тебя скрипты писать научилась?

N>Да, научилась. В простейшем случае ничего писать не надо, просто используешь любую библиотеку из доступных.
А кто код в CMakeLists.txt будет дописывать, тоже утилита?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[9]: Общие библиотеки
От: AeroSun  
Дата: 02.04.19 11:55
Оценка:
Здравствуйте, Vain, Вы писали:

V>А кто код в CMakeLists.txt будет дописывать, тоже утилита?


Да возьми уже и попробуй, все вопросы отпадут. Microsoft делала ведь — оно рабочее и простое, в отличии от остального "open-source"
Re[10]: Общие библиотеки
От: Vain Россия google.ru
Дата: 02.04.19 16:13
Оценка:
Здравствуйте, AeroSun, Вы писали:

V>>А кто код в CMakeLists.txt будет дописывать, тоже утилита?

AS>Да возьми уже и попробуй, все вопросы отпадут. Microsoft делала ведь — оно рабочее и простое, в отличии от остального "open-source"
Так я давно на cmake, там этот вопрос так и не решён. И причём здесь МС, если речь про переменные к CMakeLists.txt, которые можно передать несколькими способами?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.