Непонятки со статической сборкой

Модератор: Fastman

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
SoeR
рядовой
Сообщения: 20
Зарегистрирован: 2007-06-08 14:17:52

Непонятки со статической сборкой

Непрочитанное сообщение SoeR » 2011-02-27 10:19:30

Доброго времени суток, уважаемые форумчане.
Столкнулся я с одной траблой, клянусь - в доках ничего по этому поводу не нашел.
Вобщем, дело было так:
Понадобилось мне пересобрать 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 собирать приложения не статически?
Вложения
Виртуалка_ошибка.JPG
И ошибка
Виртуалка_требует_либы.JPG
Для запуска требует либы QT - вопрос зачем? Проект собран статически!
Виртуалка_1.JPG
На виртуалке - требует либу SSL, но никакого SSL я в проекте не использую... Там чистый QTcpSocket
Машина сборки.JPG
Машина, на которой собираю всё это дело

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.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/

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

Re: Непонятки со статической сборкой

Непрочитанное сообщение fox » 2011-02-28 2:44:03

Точка входа, как правело когда дисонанс с версиями библиотек Qt, ты видать компелиш с одной версией а подсовываеш дурие длл.
Шо за статическая сборка ты не в вижуал студии вкидывай библиотеки необходимы в папку с проектом и не парся!
Да пребудет с нами сила!!!
Всех убью, один останусь!

SoeR
рядовой
Сообщения: 20
Зарегистрирован: 2007-06-08 14:17:52

Re: Непонятки со статической сборкой

Непрочитанное сообщение SoeR » 2011-02-28 8:55:06

Когда я пересобрал QT статически, все проекты начали тоже собираться статически, даже без опции -static в файле .pro (это понятно по весу экзэшника).
Я бы рад собрать проект не статически и библиотеки подкинуть в папку с проектом, но на выходе экзэшник всё равно включает в себя либы.

Не пойму, при чем здесь несоответствие версий? И где это может быть? Версия QT у меня была одна и та же (4.7.0), я только пересобрал QT с -static.
Я удалял из проекта Makefile и .pro файл, делал их заново, всё равно он такую ошибку выдает. :st:

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Непонятки со статической сборкой

Непрочитанное сообщение hizel » 2011-02-28 9:22:09

прикольные скриншоты, а что в виндовзе нет ldd ?
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

SoeR
рядовой
Сообщения: 20
Зарегистрирован: 2007-06-08 14:17:52

Re: Непонятки со статической сборкой

Непрочитанное сообщение SoeR » 2011-02-28 9:51:39

Понял о чем речь :) Нет под виндой ldd, но у меня другой вопрос - с какого проект, собранный статически требует либы QT?

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Непонятки со статической сборкой

Непрочитанное сообщение hizel » 2011-02-28 9:58:29

показывает какие so-ошки будет использовать исполняемый файл
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

SoeR
рядовой
Сообщения: 20
Зарегистрирован: 2007-06-08 14:17:52

Re: Непонятки со статической сборкой

Непрочитанное сообщение SoeR » 2011-02-28 10:08:45

Пришлось решить траблу неординарным образом - установил ещё одну QT.
Теперь у меня 2 QT - одна собранная статически, другая - по дефолту.
Периодически буду менять пути, когда что-нить статическое надо будет собрать.
Сейчас времени нет разбираться, тем более - только один проект так себя ведет. Остальные - нормально.
Кто сталкивался с подобной траблой - пожалуйста отпишитесь.

P.S. Тема не закрыта - на досуге сам буду ковырять, если никто не отпишется :)

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Непонятки со статической сборкой

Непрочитанное сообщение Fastman » 2011-03-01 22:04:24

Возьми Depends.Exe открой в нем свою аппу и погляди чего оно хочет за собой тянуть.
Ради приколы - сюда скрин давай. Подывымсо :)
Судя по всему у тебя для статической сборки SSL не включен.
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

Re: Непонятки со статической сборкой

Непрочитанное сообщение fox » 2011-03-01 22:12:51

Fastman писал(а):Возьми Depends.Exe открой в нем свою аппу и погляди чего оно хочет за собой тянуть.
Ради приколы - сюда скрин давай. Подывымсо :)
Судя по всему у тебя для статической сборки SSL не включен.
Здравствуй Фастман!
Подскажи тогда а как собрать библиотеку индивидуально для приложения (что-бы она содержала нужные сведенья для скажем моего приложения)?
Да пребудет с нами сила!!!
Всех убью, один останусь!

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Непонятки со статической сборкой

Непрочитанное сообщение Fastman » 2011-03-01 22:19:09

fox писал(а): Здравствуй Фастман!
Подскажи тогда а как собрать библиотеку индивидуально для приложения (что-бы она содержала нужные сведенья для скажем моего приложения)?
Ну геморой придумал ты конечно. Вот собрал ты Qt с noGui и noSQL а потом решил хранить некие данные в базе (sqlite к примеру). А потом и GUI решил пристебать.
И придется тебе пересобирать Qt и софт твой. Впрочем, я обычно на виртуалках держу такие "кастомные сборки".
Но имхо - геморой. Либо делай статик (туда/сюда 20мег в век гигабайтов - не проблема), либо не дури голову и шаред.
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Непонятки со статической сборкой

Непрочитанное сообщение Alex Keda » 2011-03-02 12:21:33

вот они, программисты нынешние.
а потом народ удивляется - почему дистры на DVD стали поставлять...
Убей их всех! Бог потом рассортирует...

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Непонятки со статической сборкой

Непрочитанное сообщение hizel » 2011-03-02 12:24:04

интересно кого из собеседников ты обозвал программистом :-\
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

Re: Непонятки со статической сборкой

Непрочитанное сообщение fox » 2011-03-02 12:36:36

hizel писал(а):интересно кого из собеседников ты обозвал программистом :-\
Тебя Хизель!
Да пребудет с нами сила!!!
Всех убью, один останусь!

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Непонятки со статической сборкой

Непрочитанное сообщение Fastman » 2011-03-02 13:59:39

Alex Keda писал(а):вот они, программисты нынешние.
а потом народ удивляется - почему дистры на DVD стали поставлять...
Лис, ты когда последний раз dvd видел ??? :)
У меня года два как уже даже привода нету !
Вообще конечно ты прав, но вот тетеньке в бухгалтерии абсолютно пофигу 10 или 20 мег занимает софт :)
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Непонятки со статической сборкой

Непрочитанное сообщение Alex Keda » 2011-03-02 17:55:52

ну мы же не тётеньки в бухгалтерии...
когад я увидел у наших программистов наструганные ими бинарники по 50 мегов - я понял почему на цитриксах стало нехватать памяти =((
а тетеньки из бухгалтерии как работали так и работают
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Непонятки со статической сборкой

Непрочитанное сообщение Fastman » 2011-03-02 17:58:32

Alex Keda писал(а):ну мы же не тётеньки в бухгалтерии...
когад я увидел у наших программистов наструганные ими бинарники по 50 мегов - я понял почему на цитриксах стало нехватать памяти =((
а тетеньки из бухгалтерии как работали так и работают
ну 50 метров это, как то, извините за мой французкий - ебически !
Выгоняйте их нахер.
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Непонятки со статической сборкой

Непрочитанное сообщение hizel » 2011-03-02 18:38:36

тетеньки то работают, однако почему-то им нужны более быстрые серваки и кантуперы для баблосчета и тут рука программиста, заговор :o(
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

SoeR
рядовой
Сообщения: 20
Зарегистрирован: 2007-06-08 14:17:52

Re: Непонятки со статической сборкой

Непрочитанное сообщение SoeR » 2011-03-14 9:24:30

Экзэшник ругался на 2 виндовые либы (depends.exe показал).
Фастман сказал, что если я собрал QT статически, не факт, что все необходимые либы будут включены в экзэшник...
И ведь он прав, чёрт возьми :ROFL: А я наивно надеялся, что статическая сборка решит все мои проблемы :ROFL:

В общем, забил я большой болт на статическую сборку.
Есть такая прога - 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: Непонятки со статической сборкой

Непрочитанное сообщение Fastman » 2011-03-15 12:45:22

Я нихрена не понимаю зачем тебе mingw10.dll и libgcc_s_dw2-1.dll
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

Re: Непонятки со статической сборкой

Непрочитанное сообщение fox » 2011-03-15 12:47:32

Fastman писал(а):Я нихрена не понимаю зачем тебе mingw10.dll и libgcc_s_dw2-1.dll
Ну как зачем? Как у него запустится приложение на другой машине если он компелил под gcc?
Да пребудет с нами сила!!!
Всех убью, один останусь!

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Непонятки со статической сборкой

Непрочитанное сообщение Fastman » 2011-03-15 12:51:01

fox писал(а):
Fastman писал(а):Я нихрена не понимаю зачем тебе mingw10.dll и libgcc_s_dw2-1.dll
Ну как зачем? Как у него запустится приложение на другой машине если он компелил под gcc?
Блин.. вы все какие то как тыквы !
Вы софт под Win делаете... зачем gcc ???
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

Re: Непонятки со статической сборкой

Непрочитанное сообщение fox » 2011-03-15 19:15:21

Fastman писал(а):
fox писал(а):
Fastman писал(а):Я нихрена не понимаю зачем тебе mingw10.dll и libgcc_s_dw2-1.dll
Ну как зачем? Как у него запустится приложение на другой машине если он компелил под gcc?
Блин.. вы все какие то как тыквы !
Вы софт под Win делаете... зачем gcc ???
А что под виндовый компилятор? Он платный....
Да пребудет с нами сила!!!
Всех убью, один останусь!

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Непонятки со статической сборкой

Непрочитанное сообщение Fastman » 2011-03-15 20:23:04

fox писал(а):
Fastman писал(а):
fox писал(а):
Fastman писал(а):Я нихрена не понимаю зачем тебе mingw10.dll и libgcc_s_dw2-1.dll
Ну как зачем? Как у него запустится приложение на другой машине если он компелил под gcc?
Блин.. вы все какие то как тыквы !
Вы софт под Win делаете... зачем gcc ???
А что под виндовый компилятор? Он платный....
Да ты что ! А Билл Гейцц на завтрак младенцев есть !!!
Ребят.. ну разбуйте глаза уже.. а ???
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

Re: Непонятки со статической сборкой

Непрочитанное сообщение fox » 2011-03-15 20:39:51

Ну скажи прямо...
Я не знаю что есть Бил-гей...
Да пребудет с нами сила!!!
Всех убью, один останусь!

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Непонятки со статической сборкой

Непрочитанное сообщение Fastman » 2011-03-15 22:31:59

fox писал(а):Ну скажи прямо...
Я не знаю что есть Бил-гей...
Блин..да бесплатный он ваще... и IDE VS2010 Express тоже (сюрприз !!!!) бесплатная !
Майкрософт ваще охренел :) Да ?
Главное в жизни здоровье и любовь, остальное я все куплю.