Статические и динамические библиотеки в одном проекте. (Как сделать?)

Модератор: Модераторы разделов

Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Статические и динамические библиотеки в одном проекте.

Сообщение ormorph »

devilr писал(а):
31.03.2021 10:39
32 бита?
Само собой это 32 битное приложение.
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

ormorph писал(а):
31.03.2021 10:43
Само собой это 32 битное приложение.
Сейчас качну, проверю. А "это" - это вы про что? Tesseract вроде же и 64 битным может быть.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Статические и динамические библиотеки в одном проекте.

Сообщение ormorph »

devilr писал(а):
31.03.2021 10:47
Сейчас качну, проверю. А "это" - это вы про что? Tesseract вроде же и 64 битным может быть.
Может, но я знаю чем я собирал, по этому тут сомнений быть не может. Ну и эта сборка QT5 тоже 32 битная на сколько я помню.
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

Не вопрос, я просто уточняю. :) Под 64 у меня не собралось и это могли быть мои кривые руки. А 32 сейчас докачаю, проверю.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Статические и динамические библиотеки в одном проекте.

Сообщение ormorph »

devilr писал(а):
31.03.2021 10:54
Под 64 у меня не собралось и это могли быть мои кривые руки. А 32 сейчас докачаю, проверю.
Ну ни что вам не мешает собрать под gentoo самому под 64 бита, примерные опции сборки я прилагал в архиве с бинарниками. Вам нужно будет только использовать 64 битный компилятор ну и сборку mingw под pthread, смотреть тут. Вам нужно будет поменять пути, названия бинарников для cmake и host, для configure. Просто внимательно почитайте.
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

Проблема с MinGW только одна - им нельзя собрать программу, использующую QtWebengine. Я так и не понял, почему так, но это - факт. MSVC и всё.
Во всём остальном MinGW вполне торт. Хоть 32, хоть 64.
Пока не проверил ваш вариант с mingw (днём электричество кончилось, внезапно), но вечером точно проверю и сообщу.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Статические и динамические библиотеки в одном проекте.

Сообщение ormorph »

Вроде проекты qtwebengine нельзя собрать используя mingw, из за chromium, не поддерживают они mingw.
А так и не нашел нормального решения, как можно конвертировать .a в .lib.
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

ormorph писал(а):
31.03.2021 17:40
Вроде проекты qtwebengine нельзя собрать используя mingw, из за chromium, не поддерживают они mingw.
Я это привёл просто в качестве аргумента, почему mingw может быть неудобен.
В том, моём проекте страниц нет, показывать нечего, так что, если останется 32 - то и ладно. :)
Добавлено (18:46):
Я либо что-то не так делаю, либо оно не собирается. Ни в 32 ни в 64.
Странно, что прикрепить файл не могу, там всего 1.7 метров...
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Статические и динамические библиотеки в одном проекте.

Сообщение ormorph »

devilr писал(а):
31.03.2021 18:25
Я либо что-то не так делаю, либо оно не собирается. Ни в 32 ни в 64.
Странно, что прикрепить файл не могу, там всего 1.7 метров...
Кто же его знает. У меня все собирается:
Фотки:
Spoiler
ИзображениеИзображение
ИзображениеИзображение
ИзображениеИзображение
Из вывода видно, что сборка включает конфигурирование qmake и сборку, очистку перед сборкой делал. По этому даже не в курсе что можно сделать чтобы не заработало.
Ну и лучше архив что прилагал распаковать в Linux, а потом копировать на флешку с разыменованием симв ссылок, чтобы в последствии скопировать в винду. FS винды не поддерживает символические ссылки.
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

У меня дурное чувство, что там ещё и версии MinGW должны быть одинаковые. У вас то 5.12.9, у меня 5.15.2.
Блин, проще скидать в проект все файлы от этого сТранного tesseract и прям там всё собрать, вообще без библиотек.
ormorph писал(а):
31.03.2021 19:38
Ну и лучше архив что прилагал распаковать в Linux
Я так и делаю. Винда то в виртуалке, особого смысла прям в ней всё распаковывать нет. Хотя бы, из-за символических ссылок.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Статические и динамические библиотеки в одном проекте.

Сообщение ormorph »

devilr писал(а):
31.03.2021 19:48
У меня дурное чувство, что там ещё и версии MinGW должны быть одинаковые.
Нет, я собирал версией 10.2.0, а она на много новее, чем у вас в Qt 5.12.9 и 5.15.2.
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

ormorph писал(а):
31.03.2021 19:59
Нет, я собирал версией 10.2.0, а она на много новее, чем у вас в Qt 5.12.9 и 5.15.2.
Я смотрел на ваш спойлер. Там 5.12.9. Потому как у меня все мысли кончились - не собирается оно.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Статические и динамические библиотеки в одном проекте.

Сообщение ormorph »

Хм, а где вы брали Qt-5.15.2, вроде в официальных gpl последняя доступная 5.12.10.
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

Простой виндовый инсталлятор. Да и в дженте тоже 5.15.2. Дальше будет только шестерка. 5.15.3 тоже есть, но для коммерсов.
P.S. Я уже говорил выше - я для оффтопике собираю в оффтопике. Хотя бы для того, чтобы, если будут глюки, увидеть их раньше заказчика. Ну и обновления, само собой.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Статические и динамические библиотеки в одном проекте.

Сообщение ormorph »

Интересные у вас заказчики. Где то до сих пор на винде пишут на QT4. А у вас хотят самое новое :yes3:

Ну тогда понятно в чем дело. Скорее всего, mingw у вас 64 битный. Вам нужно все самому собрать под него.
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

ormorph писал(а):
02.04.2021 11:03
А у вас хотят самое новое
Это не они хотят. Это я хочу, чтобы заказчики, внезапно обновив винду, не получили неработоспособное приложение. Соответственно, я, сначала, обновлю у себя, потом соберу приложение и отдам им. M$ ведь именно этого и хочет - чтобы винда всегда была актуальной.
ormorph писал(а):
02.04.2021 11:03
Скорее всего, mingw у вас 64 битный. Вам нужно все самому собрать под него.
Попробую. Хотя, гораздо лучше всё-таки сделать так, чтобы не было подобных зависимостей. Пока, с ходу, не получилось "вкомпилить" tesseract непосредственно внутрь приложения (вообще без библиотек) но буду пробовать именно так. Ибо, завтра изменится опять версия чего-нибудь и всё "начнётся сызнова".
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Статические и динамические библиотеки в одном проекте.

Сообщение ormorph »

devilr писал(а):
02.04.2021 11:11
Попробую. Хотя, гораздо лучше всё-таки сделать так, чтобы не было подобных зависимостей. Пока, с ходу, не получилось "вкомпилить" tesseract непосредственно внутрь приложения (вообще без библиотек) но буду пробовать именно так.
Только чтобы собрать tesseract сборка mingw должна поддерживать модель многопоточности posix. Иначе не получится собрать.
Зависимости с битностью хоть как будут, ну и mingw нельзя собрать чтобы поддерживал одновременно 32 и 64 бита, это связанно с библиотекой runtime.
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

ormorph писал(а):
02.04.2021 11:22
Зависимости с битностью хоть как будут
Не, если просто сложить необходимые исходники tesseract непосредственно в проект, то будет всё равно, чем собирать. Я, некоторое время тому назад так с qwt делал. Страдает, разве что, время сборки.
Но, как оказалось всё не так уж и быстро, если брать библиотеки. Если судить по данной теме...
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Статические и динамические библиотеки в одном проекте.

Сообщение ormorph »

devilr писал(а):
02.04.2021 11:31
Не, если просто сложить необходимые исходники tesseract непосредственно в проект, то будет всё равно, чем собирать.
По идее да, но если использовать в закрытых проектах, то не желательно, тут будет нарушение лицензии. Тут только динамическая линковка законная.
Ну и как я сказал, сборка tesseract, должна осуществляться с pthread, иначе не соберётся.
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

ormorph писал(а):
02.04.2021 11:41
По идее да, но если использовать в закрытых проектах, то не желательно, тут будет нарушение лицензии.
У меня проекты все "полуоткрытые". :) Т.е. клиенту отдаётся исполняемый файл с набором библиотек от Qt и всё это поддерживается какое то время. Либо, если клиент хочет исходники, то это просто иная цена. Соответственно, если клиент хочет "монолит" в виде одного файла (бывают и такие), то ему объясняются пункты лицензии и приводится ссылка на коммерческую лицензию.
А пойдёт он честным или не честным путём в этом случае - это уже не моё дело.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Статические и динамические библиотеки в одном проекте.

Сообщение ormorph »

Глянул, есть ещё вариант, использовать clang, как прослойки в windows. Но я его не пробовал. Но он вроде совместим VS. В полне возможно пойдёт и с Qtwebengine.
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

ormorph писал(а):
02.04.2021 14:00
Но он вроде совместим VS.
Совместим, не означает - равен. :) Проверю, конечно, но такое чувство, что проблемы там глубже.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Статические и динамические библиотеки в одном проекте.

Сообщение ormorph »

Хм, интересно удалось подружить Visual Studio с mingw?
Спасибо сказали:
Аватара пользователя
UnixNoob
Сообщения: 1367
ОС: Slackware

Re: Статические и динамические библиотеки в одном проекте.

Сообщение UnixNoob »

"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Статические и динамические библиотеки в одном проекте.

Сообщение ormorph »

UnixNoob писал:
31.08.2022 22:44
ormorph
Using GCC with MinGW видели?
Ээ, это совсем не то. Это как подружить Visual Studio Code, а не просто Visual Studio. В смысле использовать бинарную библиотеку собранную компилятором Visual Studio, в проектах использующих mingw для сборки.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Статические и динамические библиотеки в одном проекте.

Сообщение ormorph »

Просмотрел, прочитать классы C++ не получится, разные имена и сами реализации объектов. Можно только если в C++ сделать интерфейс на Си в виде extern "C", экспортировать их и тогда эти функции нормально будут линковаться. К сожалению экспортируемые(импортируемые) классы и функции C++ от VS не будут подхватываться mingw, только функции Си.
Спасибо сказали:
Ответить