Непонятки со статической сборкой
Модератор: Fastman
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2007-06-08 14:17:52
Непонятки со статической сборкой
Доброго времени суток, уважаемые форумчане.
Столкнулся я с одной траблой, клянусь - в доках ничего по этому поводу не нашел.
Вобщем, дело было так:
Понадобилось мне пересобрать QT статически (версия QT - 4.7.0), что и было успешно сделано (на всякий случай уточняю - собирал с поддержкой qt-sql-mysql и openssl-linked)
Соответственно, пришлось перекомпиливать исходники, с которыми я работаю.
Всё бы ничего, но один проект после перекомпиляции ведет себя очень странно (GUI-приложение с network и webkit). Для наглядности пересобрал его в debug, проект стал весить 183 мегабайта.
При запуске на машине, где собирал, выдает ошибку точки входа в процедуру (первый скриншот).
При запуске на виртуальной машине, где QT никогда не было, экзэшник при запуске начинает требовать либы SSL и (внимание!) либы самой QT (QtCored4.dll, QtGuid4.dll и т.д.). Когда я копирую в папку с экзэшником эти либы - выдает ошибку точки входа в процедуру.
Скрины прилагаются.
Кто сталкивался с такой траблой - плз помогите. У меня следующие вопросы:
1) Почему экзэшник, собранный статически, требует dll-ки QT?
2) Что это за ошибки точки входа в процедуру?
3) Есть ли возможность, имея статически собранную QT собирать приложения не статически?
Столкнулся я с одной траблой, клянусь - в доках ничего по этому поводу не нашел.
Вобщем, дело было так:
Понадобилось мне пересобрать QT статически (версия QT - 4.7.0), что и было успешно сделано (на всякий случай уточняю - собирал с поддержкой qt-sql-mysql и openssl-linked)
Соответственно, пришлось перекомпиливать исходники, с которыми я работаю.
Всё бы ничего, но один проект после перекомпиляции ведет себя очень странно (GUI-приложение с network и webkit). Для наглядности пересобрал его в debug, проект стал весить 183 мегабайта.
При запуске на машине, где собирал, выдает ошибку точки входа в процедуру (первый скриншот).
При запуске на виртуальной машине, где QT никогда не было, экзэшник при запуске начинает требовать либы SSL и (внимание!) либы самой QT (QtCored4.dll, QtGuid4.dll и т.д.). Когда я копирую в папку с экзэшником эти либы - выдает ошибку точки входа в процедуру.
Скрины прилагаются.
Кто сталкивался с такой траблой - плз помогите. У меня следующие вопросы:
1) Почему экзэшник, собранный статически, требует dll-ки QT?
2) Что это за ошибки точки входа в процедуру?
3) Есть ли возможность, имея статически собранную QT собирать приложения не статически?
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- fox
- ст. лейтенант
- Сообщения: 1154
- Зарегистрирован: 2008-07-24 0:25:31
- Откуда: Ukraine, Donetsk
Re: Непонятки со статической сборкой
Точка входа, как правело когда дисонанс с версиями библиотек Qt, ты видать компелиш с одной версией а подсовываеш дурие длл.
Шо за статическая сборка ты не в вижуал студии вкидывай библиотеки необходимы в папку с проектом и не парся!
Шо за статическая сборка ты не в вижуал студии вкидывай библиотеки необходимы в папку с проектом и не парся!
Да пребудет с нами сила!!!
Всех убью, один останусь!
Всех убью, один останусь!
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2007-06-08 14:17:52
Re: Непонятки со статической сборкой
Когда я пересобрал QT статически, все проекты начали тоже собираться статически, даже без опции -static в файле .pro (это понятно по весу экзэшника).
Я бы рад собрать проект не статически и библиотеки подкинуть в папку с проектом, но на выходе экзэшник всё равно включает в себя либы.
Не пойму, при чем здесь несоответствие версий? И где это может быть? Версия QT у меня была одна и та же (4.7.0), я только пересобрал QT с -static.
Я удалял из проекта Makefile и .pro файл, делал их заново, всё равно он такую ошибку выдает.
Я бы рад собрать проект не статически и библиотеки подкинуть в папку с проектом, но на выходе экзэшник всё равно включает в себя либы.
Не пойму, при чем здесь несоответствие версий? И где это может быть? Версия QT у меня была одна и та же (4.7.0), я только пересобрал QT с -static.
Я удалял из проекта Makefile и .pro файл, делал их заново, всё равно он такую ошибку выдает.

- hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Re: Непонятки со статической сборкой
прикольные скриншоты, а что в виндовзе нет ldd ?
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2007-06-08 14:17:52
Re: Непонятки со статической сборкой
Понял о чем речь
Нет под виндой ldd, но у меня другой вопрос - с какого проект, собранный статически требует либы QT?

- hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Re: Непонятки со статической сборкой
показывает какие so-ошки будет использовать исполняемый файл
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2007-06-08 14:17:52
Re: Непонятки со статической сборкой
Пришлось решить траблу неординарным образом - установил ещё одну QT.
Теперь у меня 2 QT - одна собранная статически, другая - по дефолту.
Периодически буду менять пути, когда что-нить статическое надо будет собрать.
Сейчас времени нет разбираться, тем более - только один проект так себя ведет. Остальные - нормально.
Кто сталкивался с подобной траблой - пожалуйста отпишитесь.
P.S. Тема не закрыта - на досуге сам буду ковырять, если никто не отпишется
Теперь у меня 2 QT - одна собранная статически, другая - по дефолту.
Периодически буду менять пути, когда что-нить статическое надо будет собрать.
Сейчас времени нет разбираться, тем более - только один проект так себя ведет. Остальные - нормально.
Кто сталкивался с подобной траблой - пожалуйста отпишитесь.
P.S. Тема не закрыта - на досуге сам буду ковырять, если никто не отпишется

- Fastman
- ст. лейтенант
- Сообщения: 1236
- Зарегистрирован: 2006-07-07 10:20:38
- Откуда: Минск. РБ
Re: Непонятки со статической сборкой
Возьми Depends.Exe открой в нем свою аппу и погляди чего оно хочет за собой тянуть.
Ради приколы - сюда скрин давай. Подывымсо
Судя по всему у тебя для статической сборки SSL не включен.
Ради приколы - сюда скрин давай. Подывымсо

Судя по всему у тебя для статической сборки SSL не включен.
Главное в жизни здоровье и любовь, остальное я все куплю.
- fox
- ст. лейтенант
- Сообщения: 1154
- Зарегистрирован: 2008-07-24 0:25:31
- Откуда: Ukraine, Donetsk
Re: Непонятки со статической сборкой
Здравствуй Фастман!Fastman писал(а):Возьми Depends.Exe открой в нем свою аппу и погляди чего оно хочет за собой тянуть.
Ради приколы - сюда скрин давай. Подывымсо
Судя по всему у тебя для статической сборки SSL не включен.
Подскажи тогда а как собрать библиотеку индивидуально для приложения (что-бы она содержала нужные сведенья для скажем моего приложения)?
Да пребудет с нами сила!!!
Всех убью, один останусь!
Всех убью, один останусь!
- Fastman
- ст. лейтенант
- Сообщения: 1236
- Зарегистрирован: 2006-07-07 10:20:38
- Откуда: Минск. РБ
Re: Непонятки со статической сборкой
Ну геморой придумал ты конечно. Вот собрал ты Qt с noGui и noSQL а потом решил хранить некие данные в базе (sqlite к примеру). А потом и GUI решил пристебать.fox писал(а): Здравствуй Фастман!
Подскажи тогда а как собрать библиотеку индивидуально для приложения (что-бы она содержала нужные сведенья для скажем моего приложения)?
И придется тебе пересобирать Qt и софт твой. Впрочем, я обычно на виртуалках держу такие "кастомные сборки".
Но имхо - геморой. Либо делай статик (туда/сюда 20мег в век гигабайтов - не проблема), либо не дури голову и шаред.
Главное в жизни здоровье и любовь, остальное я все куплю.
- Alex Keda
- стреляли...
- Сообщения: 35418
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Непонятки со статической сборкой
вот они, программисты нынешние.
а потом народ удивляется - почему дистры на DVD стали поставлять...
а потом народ удивляется - почему дистры на DVD стали поставлять...
Убей их всех! Бог потом рассортирует...
- hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Re: Непонятки со статической сборкой
интересно кого из собеседников ты обозвал программистом :-\
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
- fox
- ст. лейтенант
- Сообщения: 1154
- Зарегистрирован: 2008-07-24 0:25:31
- Откуда: Ukraine, Donetsk
Re: Непонятки со статической сборкой
Тебя Хизель!hizel писал(а):интересно кого из собеседников ты обозвал программистом :-\
Да пребудет с нами сила!!!
Всех убью, один останусь!
Всех убью, один останусь!
- Fastman
- ст. лейтенант
- Сообщения: 1236
- Зарегистрирован: 2006-07-07 10:20:38
- Откуда: Минск. РБ
Re: Непонятки со статической сборкой
Лис, ты когда последний раз dvd видел ???Alex Keda писал(а):вот они, программисты нынешние.
а потом народ удивляется - почему дистры на DVD стали поставлять...

У меня года два как уже даже привода нету !
Вообще конечно ты прав, но вот тетеньке в бухгалтерии абсолютно пофигу 10 или 20 мег занимает софт

Главное в жизни здоровье и любовь, остальное я все куплю.
- Alex Keda
- стреляли...
- Сообщения: 35418
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Непонятки со статической сборкой
ну мы же не тётеньки в бухгалтерии...
когад я увидел у наших программистов наструганные ими бинарники по 50 мегов - я понял почему на цитриксах стало нехватать памяти =((
а тетеньки из бухгалтерии как работали так и работают
когад я увидел у наших программистов наструганные ими бинарники по 50 мегов - я понял почему на цитриксах стало нехватать памяти =((
а тетеньки из бухгалтерии как работали так и работают
Убей их всех! Бог потом рассортирует...
- Fastman
- ст. лейтенант
- Сообщения: 1236
- Зарегистрирован: 2006-07-07 10:20:38
- Откуда: Минск. РБ
Re: Непонятки со статической сборкой
ну 50 метров это, как то, извините за мой французкий - ебически !Alex Keda писал(а):ну мы же не тётеньки в бухгалтерии...
когад я увидел у наших программистов наструганные ими бинарники по 50 мегов - я понял почему на цитриксах стало нехватать памяти =((
а тетеньки из бухгалтерии как работали так и работают
Выгоняйте их нахер.
Главное в жизни здоровье и любовь, остальное я все куплю.
- hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Re: Непонятки со статической сборкой
тетеньки то работают, однако почему-то им нужны более быстрые серваки и кантуперы для баблосчета и тут рука программиста, заговор :o(
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2007-06-08 14:17:52
Re: Непонятки со статической сборкой
Экзэшник ругался на 2 виндовые либы (depends.exe показал).
Фастман сказал, что если я собрал QT статически, не факт, что все необходимые либы будут включены в экзэшник...
И ведь он прав, чёрт возьми
А я наивно надеялся, что статическая сборка решит все мои проблемы 
В общем, забил я большой болт на статическую сборку.
Есть такая прога - molebox, которая добавляет все необходимые либы (на усмотрение пользователя) в уже собранный экзэшник и пожимает их зипом (вроде).
В итоге экзэшник получился в сумме 11 метров (mingw10.dll, libgcc_s_dw2-1.dll, QtCore4.dll, QtNetwork4.dll, QtGui4.dll, QtWebkit4.dll, phonon4.dll).
Запускается и работает на ура.
Господа Гуру, какие могут быть грабли при таком подходе?
Фастман сказал, что если я собрал QT статически, не факт, что все необходимые либы будут включены в экзэшник...
И ведь он прав, чёрт возьми


В общем, забил я большой болт на статическую сборку.
Есть такая прога - molebox, которая добавляет все необходимые либы (на усмотрение пользователя) в уже собранный экзэшник и пожимает их зипом (вроде).
В итоге экзэшник получился в сумме 11 метров (mingw10.dll, libgcc_s_dw2-1.dll, QtCore4.dll, QtNetwork4.dll, QtGui4.dll, QtWebkit4.dll, phonon4.dll).
Запускается и работает на ура.
Господа Гуру, какие могут быть грабли при таком подходе?
- Fastman
- ст. лейтенант
- Сообщения: 1236
- Зарегистрирован: 2006-07-07 10:20:38
- Откуда: Минск. РБ
Re: Непонятки со статической сборкой
Я нихрена не понимаю зачем тебе mingw10.dll и libgcc_s_dw2-1.dll
Главное в жизни здоровье и любовь, остальное я все куплю.
- fox
- ст. лейтенант
- Сообщения: 1154
- Зарегистрирован: 2008-07-24 0:25:31
- Откуда: Ukraine, Donetsk
Re: Непонятки со статической сборкой
Ну как зачем? Как у него запустится приложение на другой машине если он компелил под gcc?Fastman писал(а):Я нихрена не понимаю зачем тебе mingw10.dll и libgcc_s_dw2-1.dll
Да пребудет с нами сила!!!
Всех убью, один останусь!
Всех убью, один останусь!
- Fastman
- ст. лейтенант
- Сообщения: 1236
- Зарегистрирован: 2006-07-07 10:20:38
- Откуда: Минск. РБ
Re: Непонятки со статической сборкой
Блин.. вы все какие то как тыквы !fox писал(а):Ну как зачем? Как у него запустится приложение на другой машине если он компелил под gcc?Fastman писал(а):Я нихрена не понимаю зачем тебе mingw10.dll и libgcc_s_dw2-1.dll
Вы софт под Win делаете... зачем gcc ???
Главное в жизни здоровье и любовь, остальное я все куплю.
- fox
- ст. лейтенант
- Сообщения: 1154
- Зарегистрирован: 2008-07-24 0:25:31
- Откуда: Ukraine, Donetsk
Re: Непонятки со статической сборкой
А что под виндовый компилятор? Он платный....Fastman писал(а):Блин.. вы все какие то как тыквы !fox писал(а):Ну как зачем? Как у него запустится приложение на другой машине если он компелил под gcc?Fastman писал(а):Я нихрена не понимаю зачем тебе mingw10.dll и libgcc_s_dw2-1.dll
Вы софт под Win делаете... зачем gcc ???
Да пребудет с нами сила!!!
Всех убью, один останусь!
Всех убью, один останусь!
- Fastman
- ст. лейтенант
- Сообщения: 1236
- Зарегистрирован: 2006-07-07 10:20:38
- Откуда: Минск. РБ
Re: Непонятки со статической сборкой
Да ты что ! А Билл Гейцц на завтрак младенцев есть !!!fox писал(а):А что под виндовый компилятор? Он платный....Fastman писал(а):Блин.. вы все какие то как тыквы !fox писал(а):Ну как зачем? Как у него запустится приложение на другой машине если он компелил под gcc?Fastman писал(а):Я нихрена не понимаю зачем тебе mingw10.dll и libgcc_s_dw2-1.dll
Вы софт под Win делаете... зачем gcc ???
Ребят.. ну разбуйте глаза уже.. а ???
Главное в жизни здоровье и любовь, остальное я все куплю.
- fox
- ст. лейтенант
- Сообщения: 1154
- Зарегистрирован: 2008-07-24 0:25:31
- Откуда: Ukraine, Donetsk
Re: Непонятки со статической сборкой
Ну скажи прямо...
Я не знаю что есть Бил-гей...
Я не знаю что есть Бил-гей...
Да пребудет с нами сила!!!
Всех убью, один останусь!
Всех убью, один останусь!
- Fastman
- ст. лейтенант
- Сообщения: 1236
- Зарегистрирован: 2006-07-07 10:20:38
- Откуда: Минск. РБ
Re: Непонятки со статической сборкой
Блин..да бесплатный он ваще... и IDE VS2010 Express тоже (сюрприз !!!!) бесплатная !fox писал(а):Ну скажи прямо...
Я не знаю что есть Бил-гей...
Майкрософт ваще охренел

Главное в жизни здоровье и любовь, остальное я все куплю.