Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: wolfut от Декабрь 21, 2011, 08:35



Название: Ошибка компиляция Qt 4.8.0
Отправлено: wolfut от Декабрь 21, 2011, 08:35
Доброго времени суток!

Скачал с оф. сайта qt-everywhere-opensource-src-4.8.0.tar.gz и устанавливаю на MAC OS X 10.5.5.
Параметры:
Код:
./configure -prefix /Developer/QtSh -qt-zlib -qt-libpng -qt-libjpeg -svg -qt-libtiff -qt-libmng -qt-sql-sqlite -openssl -arch x86 
-arch x86_64 -sdk /Developer/SDKs/MacOSX10.5.sdk -nomake examples -nomake demos -nomake tools -shared -release

При компиляции вылетает ошибка:
Код:
make[2]: *** [.obj/release-shared/MediaPlayerPrivateQTKit.o] Error 1
make[1]: *** [sub-WebCore-make_default-ordered] Error 2
make: *** [sub-webkit-sub_src_target_ordered] Error 2

Что делать? как её избежать?




Название: Re: Ошибка компиляция Qt 4.8.0
Отправлено: gogi от Декабрь 21, 2011, 08:43
Что делать? как её избежать?

Для начала процитировать собственно сообщение компилятора, а не make.


Название: Re: Ошибка компиляция Qt 4.8.0
Отправлено: wolfut от Декабрь 21, 2011, 08:47
Вот что перед make было

Код:
platform/graphics/mac/MediaPlayerPrivateQTKit.mm:1514: warning: Mac OS X version 10.5 or later is needed for use of
 foreach-collection-statement
lipo: can't open input file: /var/folders/qm/qm+UiBZQFdytVu7vJSsSuU+++TI/-Tmp-//ccxArngc.out (No such file or directory)

остальное я удалил, сейчас заново компилирую без -nomake tools


Название: Re: Ошибка компиляция Qt 4.8.0
Отправлено: Авварон от Декабрь 21, 2011, 11:22
а на пуркуа компилировать qt под мак?


Название: Re: Ошибка компиляция Qt 4.8.0
Отправлено: wolfut от Декабрь 21, 2011, 12:26
Ну например что бы создать статическую сборку


Название: Re: Ошибка компиляция Qt 4.8.0
Отправлено: Авварон от Декабрь 21, 2011, 12:55
Зачем?


Название: Re: Ошибка компиляция Qt 4.8.0
Отправлено: wolfut от Декабрь 21, 2011, 15:54
Сейчас я делаю динамическую сборку, а статическую можно собрать, что бы, например, не было геморроя с линковкой


Название: Re: Ошибка компиляция Qt 4.8.0
Отправлено: Igors от Декабрь 21, 2011, 17:53
Скачал с оф. сайта qt-everywhere-opensource-src-4.8.0.tar.gz и устанавливаю на MAC OS X 10.5.5.
Я всегда держусь за старую версию OSX до последней возможности, но 10.5 (4-х летней ?) давности - это уже слишком. Обновиться придется все равно - теряете время


Название: Re: Ошибка компиляция Qt 4.8.0
Отправлено: wolfut от Декабрь 22, 2011, 09:32
Решил проблему скачкой готовых библиотек, тока есть один вопрос, библиотекb работают в архитектуре x86_64 64bit, нету i386 (x86), но даже на 10.5.5 всё работает. Почему так сделали в Qt? Какие проблемы могут возникнуть при распространение программы, мне нужно, что программа поддерживала MAC OS X 10.5 и выше. Например Qt Creator распространяется с двойной архитектурой i386 + x86_64.


Название: Re: Ошибка компиляция Qt 4.8.0
Отправлено: kambala от Декабрь 22, 2011, 13:37
для 10.5 и выше никаких проблем не будет, только если люди не пользуются машинами на архитектуре PPC. в этом случае надо руками собирать Qt с ключом -universal (эквивалентен -arch x86 -arch ppc).

p.s. креатор собран как раз как универсальное приложение, а не как x86 + x86_64


Название: Re: Ошибка компиляция Qt 4.8.0
Отправлено: wolfut от Декабрь 29, 2011, 10:03
У меня сейчас Qt Creator 2.4.0, команда lipo -info выдаёт x86-64 i386. Никакой поддержки архитектуры ppc нет, может потому, что у меня последняя версия. Так же в ppc НЕ поддерживается MAC OS 10.6 и выше. Так что можно считать что это умирающая архитектура и при распространение программ её можно не поддержать. Также я отказался от поддержки ppc из-за ограничения на размераx своей программы. Как раз с этим связан вопрос, зачем  в новом Qt Creator сделана поддержка  x86-64 и i386? Зачем вообще нужен параметр i386(x86), если x86-64 совместим x86 архитекторой, а поддержка i386(x86) увеличивает размер программы в два раза. Кто-нибудь может ответить на этот вопрос, зачем Qt Creator 2.4.0 поддержка x86-64 i386? А не только  x86-64. Qt Creator можно считать эталонным образцом для распространяемых программ, и всё нужно делать как у него.


Название: Re: Ошибка компиляция Qt 4.8.0
Отправлено: kambala от Декабрь 29, 2011, 12:32
PPC не поддерживается только начиная со Льва, в СноуЛео всё отлично.

последний раз, когда я "смотрел" на креатор, он был именно универсальным, но сегодня проверю ещё раз.


Название: Re: Ошибка компиляция Qt 4.8.0
Отправлено: kostya7777 от Февраль 07, 2012, 14:34
Надо добавить строки в файл src/3rdparty/webkit/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm в исходниках Qt:

        #import "SoftLinking.h"
        #import "TimeRanges.h"
        #import "WebCoreSystemInterface.h"
        +#if defined(slots)
        +#undef slots
        +#endif
        #import <QTKit/QTKit.h>
        #import <objc/objc-runtime.h>
        #import <wtf/UnusedParam.h>

Оригинальный файл патча прикрепил (нашел в просторах интернета).

P.S. У меня все после этого собралось. :)