Russian Qt Forum
Сентябрь 30, 2024, 06:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Ошибка компиляция Qt 4.8.0  (Прочитано 7886 раз)
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

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


Записан
gogi
Гость
« Ответ #1 : Декабрь 21, 2011, 08:43 »

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

Для начала процитировать собственно сообщение компилятора, а не make.
Записан
wolfut
Гость
« Ответ #2 : Декабрь 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
« Последнее редактирование: Декабрь 21, 2011, 08:54 от wolfut » Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #3 : Декабрь 21, 2011, 11:22 »

а на пуркуа компилировать qt под мак?
Записан
wolfut
Гость
« Ответ #4 : Декабрь 21, 2011, 12:26 »

Ну например что бы создать статическую сборку
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #5 : Декабрь 21, 2011, 12:55 »

Зачем?
Записан
wolfut
Гость
« Ответ #6 : Декабрь 21, 2011, 15:54 »

Сейчас я делаю динамическую сборку, а статическую можно собрать, что бы, например, не было геморроя с линковкой
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #7 : Декабрь 21, 2011, 17:53 »

Скачал с оф. сайта qt-everywhere-opensource-src-4.8.0.tar.gz и устанавливаю на MAC OS X 10.5.5.
Я всегда держусь за старую версию OSX до последней возможности, но 10.5 (4-х летней ?) давности - это уже слишком. Обновиться придется все равно - теряете время
Записан
wolfut
Гость
« Ответ #8 : Декабрь 22, 2011, 09:32 »

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

Сообщений: 4744



Просмотр профиля WWW
« Ответ #9 : Декабрь 22, 2011, 13:37 »

для 10.5 и выше никаких проблем не будет, только если люди не пользуются машинами на архитектуре PPC. в этом случае надо руками собирать Qt с ключом -universal (эквивалентен -arch x86 -arch ppc).

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

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
wolfut
Гость
« Ответ #10 : Декабрь 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 можно считать эталонным образцом для распространяемых программ, и всё нужно делать как у него.
« Последнее редактирование: Декабрь 29, 2011, 10:05 от wolfut » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #11 : Декабрь 29, 2011, 12:32 »

PPC не поддерживается только начиная со Льва, в СноуЛео всё отлично.

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

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
kostya7777
Гость
« Ответ #12 : Февраль 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. У меня все после этого собралось. Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.049 секунд. Запросов: 23.