Russian Qt Forum
Ноябрь 23, 2024, 04:56
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Установка, сборка, отладка, тестирование
>
Установка Qt на Linux для кросс-компиляции: Linux 32/64 Windows 32/64
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Установка Qt на Linux для кросс-компиляции: Linux 32/64 Windows 32/64 (Прочитано 10543 раз)
_Konstantin_
Гость
Установка Qt на Linux для кросс-компиляции: Linux 32/64 Windows 32/64
«
:
Май 09, 2015, 06:52 »
В силу объективных причин пришлось перейти на Linux, но столкнулся с проблемой установки окружения Qt. Нужна установка Qt на Linux Mint для кросс-компиляции проектов для Linux 32/64 Windows 32/64. ОС Linux Mint 17.1 x64. Делаю все как описано
http://habrahabr.ru/post/198142/
но на этапе сборки для Windows 64 столкнулся с тем, что ./configure ругается на CROSS_COMPILE=x86_64-w64-mingw32-, пишет:
Цитировать
CROSS_COMPILE=x86_64-w64-mingw32-: unknown argument
пробовал писать и относительный путь CROSS_COMPILE=/usr/x86_64-w64-mingw32- но результат тот же. Помогите разобраться.
Записан
Dovgon
Гость
Re: Установка Qt на Linux для кросс-компиляции: Linux 32/64 Windows 32/64
«
Ответ #1 :
Май 09, 2015, 07:37 »
Если собираешься пользоваться linux поставь openSuse.
Записан
_Konstantin_
Гость
Re: Установка Qt на Linux для кросс-компиляции: Linux 32/64 Windows 32/64
«
Ответ #2 :
Май 09, 2015, 07:53 »
Я вынужден работать на Linux Mint 17.1
Кстати вопрос, а чем OpenSUSE лучше?
Записан
Fregloin
Супер
Offline
Сообщений: 1025
Re: Установка Qt на Linux для кросс-компиляции: Linux 32/64 Windows 32/64
«
Ответ #3 :
Май 09, 2015, 08:23 »
у меня ./configure выпадает в сегментацию при попытке собрать 64 qt под винду. решения так и не нашёл.
Записан
_Konstantin_
Гость
Re: Установка Qt на Linux для кросс-компиляции: Linux 32/64 Windows 32/64
«
Ответ #4 :
Май 09, 2015, 08:29 »
если у человека который писал статью указанную мной все получилось значит я что то делаю не так и переходить на OpenSUSE из-за этого смысла не вижу
думаю что данную проблему нужно решать, но я пока не знаю как т.к. в Linux плохо ориентируюсь
Записан
_Konstantin_
Гость
Re: Установка Qt на Linux для кросс-компиляции: Linux 32/64 Windows 32/64
«
Ответ #5 :
Май 09, 2015, 19:12 »
В общем я так и не поборол эту ошибку, пришлось руками вписать в qmake.conf данную переменную, а в ./configure исключить инициализацию данным занчением x86_64-w64-mingw32- переменную CROSS_COMPILE
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Установка Qt на Linux для кросс-компиляции: Linux 32/64 Windows 32/64
«
Ответ #6 :
Май 10, 2015, 00:00 »
Цитата: _Konstantin_ от Май 09, 2015, 07:53
Кстати вопрос, а чем OpenSUSE лучше?
Я бы не стал прислушиваться чьего-то мнения в вопросе выбора дистрибутива. Имхо, каждому своё. Минт - довольно не плохой выбор для знакомства с линукс.
А вы не пробовали заменить x86_64-w64-mingw32- на x86_64-w64-mingw32? Уж какой-то подозрительный этот дефис на конце.
Записан
_Konstantin_
Гость
Re: Установка Qt на Linux для кросс-компиляции: Linux 32/64 Windows 32/64
«
Ответ #7 :
Май 10, 2015, 04:27 »
С именем переменной все в порядке, это ведь подстановка в файле qmake.conf (во вложении посмотрите), собственно вопрос то и был, почему ему не нравится в качестве аргумента в строке ./configure, а если явно прописать в .conf файле то все в порядке.
Записан
_Konstantin_
Гость
Re: Установка Qt на Linux для кросс-компиляции: Linux 32/64 Windows 32/64
«
Ответ #8 :
Май 10, 2015, 15:36 »
Собираю все так же Qt-4.8.6 на Linux Mint 17.1 пока для Windows х64, но уже по другому мануалу
http://www.linuxfromscratch.org/blfs/view/svn/x/qt4.html
В результате не могу собрать из-за ошибок при конфигурировании. Архив с лог файлом выполнения конфигуратора, qmake.conf из ~/qt-everywhere-opensource-src-4.8.6/mkspecs/win64-x-g++/ прилагаю. Команды конфигурирования видны в лог файле в самом начале.
Судя по выводу в лог ошибок, якобы не хватает библиотек хотя они установлены в системе. К примеру самая первая ошибка:
Цитировать
ipc_sysv auto-detection... ()
compiling ipc.cpp
ipc.cpp:43:21: fatal error: sys/ipc.h: Нет такого файла или каталога
#include <sys/ipc.h>
этот хедер присутствует в библиотеке libc6-dev и она у меня установлена, вот вывод:
Цитировать
konstantin@kisa ~ $ dpkg -L libc6-dev | grep "/sys/" | sort
/usr/include/x86_64-linux-gnu/sys/acct.h
/usr/include/x86_64-linux-gnu/sys/auxv.h
/usr/include/x86_64-linux-gnu/sys/bitypes.h
/usr/include/x86_64-linux-gnu/sys/cdefs.h
/usr/include/x86_64-linux-gnu/sys/debugreg.h
/usr/include/x86_64-linux-gnu/sys/dir.h
/usr/include/x86_64-linux-gnu/sys/elf.h
/usr/include/x86_64-linux-gnu/sys/epoll.h
/usr/include/x86_64-linux-gnu/sys/errno.h
/usr/include/x86_64-linux-gnu/sys/eventfd.h
/usr/include/x86_64-linux-gnu/sys/fanotify.h
/usr/include/x86_64-linux-gnu/sys/fcntl.h
/usr/include/x86_64-linux-gnu/sys/file.h
/usr/include/x86_64-linux-gnu/sys/fsuid.h
/usr/include/x86_64-linux-gnu/sys/gmon.h
/usr/include/x86_64-linux-gnu/sys/gmon_out.h
/usr/include/x86_64-linux-gnu/sys/inotify.h
/usr/include/x86_64-linux-gnu/sys/ioctl.h
/usr/include/x86_64-linux-gnu/sys/io.h
/usr/include/x86_64-linux-gnu/sys/ipc.h
/usr/include/x86_64-linux-gnu/sys/kdaemon.h
/usr/include/x86_64-linux-gnu/sys/kd.h
/usr/include/x86_64-linux-gnu/sys/klog.h
/usr/include/x86_64-linux-gnu/sys/mman.h
/usr/include/x86_64-linux-gnu/sys/mount.h
/usr/include/x86_64-linux-gnu/sys/msg.h
/usr/include/x86_64-linux-gnu/sys/mtio.h
/usr/include/x86_64-linux-gnu/sys/param.h
/usr/include/x86_64-linux-gnu/sys/pci.h
/usr/include/x86_64-linux-gnu/sys/perm.h
/usr/include/x86_64-linux-gnu/sys/personality.h
/usr/include/x86_64-linux-gnu/sys/poll.h
/usr/include/x86_64-linux-gnu/sys/prctl.h
/usr/include/x86_64-linux-gnu/sys/procfs.h
/usr/include/x86_64-linux-gnu/sys/profil.h
/usr/include/x86_64-linux-gnu/sys/ptrace.h
/usr/include/x86_64-linux-gnu/sys/queue.h
/usr/include/x86_64-linux-gnu/sys/quota.h
/usr/include/x86_64-linux-gnu/sys/raw.h
/usr/include/x86_64-linux-gnu/sys/reboot.h
/usr/include/x86_64-linux-gnu/sys/reg.h
/usr/include/x86_64-linux-gnu/sys/resource.h
/usr/include/x86_64-linux-gnu/sys/select.h
/usr/include/x86_64-linux-gnu/sys/sem.h
/usr/include/x86_64-linux-gnu/sys/sendfile.h
/usr/include/x86_64-linux-gnu/sys/shm.h
/usr/include/x86_64-linux-gnu/sys/signalfd.h
/usr/include/x86_64-linux-gnu/sys/signal.h
/usr/include/x86_64-linux-gnu/sys/socket.h
/usr/include/x86_64-linux-gnu/sys/socketvar.h
/usr/include/x86_64-linux-gnu/sys/soundcard.h
/usr/include/x86_64-linux-gnu/sys/statfs.h
/usr/include/x86_64-linux-gnu/sys/stat.h
/usr/include/x86_64-linux-gnu/sys/statvfs.h
/usr/include/x86_64-linux-gnu/sys/stropts.h
/usr/include/x86_64-linux-gnu/sys/swap.h
/usr/include/x86_64-linux-gnu/sys/syscall.h
/usr/include/x86_64-linux-gnu/sys/sysctl.h
/usr/include/x86_64-linux-gnu/sys/sysinfo.h
/usr/include/x86_64-linux-gnu/sys/syslog.h
/usr/include/x86_64-linux-gnu/sys/sysmacros.h
/usr/include/x86_64-linux-gnu/sys/termios.h
/usr/include/x86_64-linux-gnu/sys/timeb.h
/usr/include/x86_64-linux-gnu/sys/time.h
/usr/include/x86_64-linux-gnu/sys/timerfd.h
/usr/include/x86_64-linux-gnu/sys/times.h
/usr/include/x86_64-linux-gnu/sys/timex.h
/usr/include/x86_64-linux-gnu/sys/ttychars.h
/usr/include/x86_64-linux-gnu/sys/ttydefaults.h
/usr/include/x86_64-linux-gnu/sys/types.h
/usr/include/x86_64-linux-gnu/sys/ucontext.h
/usr/include/x86_64-linux-gnu/sys/uio.h
/usr/include/x86_64-linux-gnu/sys/ultrasound.h
/usr/include/x86_64-linux-gnu/sys/un.h
/usr/include/x86_64-linux-gnu/sys/unistd.h
/usr/include/x86_64-linux-gnu/sys/user.h
/usr/include/x86_64-linux-gnu/sys/ustat.h
/usr/include/x86_64-linux-gnu/sys/utsname.h
/usr/include/x86_64-linux-gnu/sys/vfs.h
/usr/include/x86_64-linux-gnu/sys/vlimit.h
/usr/include/x86_64-linux-gnu/sys/vm86.h
/usr/include/x86_64-linux-gnu/sys/vt.h
/usr/include/x86_64-linux-gnu/sys/vtimes.h
/usr/include/x86_64-linux-gnu/sys/wait.h
/usr/include/x86_64-linux-gnu/sys/xattr.h
уже второй день убил на это.
Записан
qate
Супер
Offline
Сообщений: 1177
Re: Установка Qt на Linux для кросс-компиляции: Linux 32/64 Windows 32/64
«
Ответ #9 :
Май 12, 2015, 10:31 »
а нужна ли сборка win64 ? win32 запукается везде, чего ради 64 бита ?
Записан
_Konstantin_
Гость
Re: Установка Qt на Linux для кросс-компиляции: Linux 32/64 Windows 32/64
«
Ответ #10 :
Май 12, 2015, 13:15 »
ПО не принимает 32х битные dll т.к. оно теперь 64х битное и ему нужно соответствующей битности dll...
Записан
qate
Супер
Offline
Сообщений: 1177
Re: Установка Qt на Linux для кросс-компиляции: Linux 32/64 Windows 32/64
«
Ответ #11 :
Май 13, 2015, 13:30 »
Цитата: _Konstantin_ от Май 12, 2015, 13:15
ПО не принимает 32х битные dll т.к. оно теперь 64х битное и ему нужно соответствующей битности dll...
как не принимает, если есть 32х сборка ?
почему используется qt4, а не qt5 ?
Записан
_Konstantin_
Гость
Re: Установка Qt на Linux для кросс-компиляции: Linux 32/64 Windows 32/64
«
Ответ #12 :
Май 13, 2015, 14:27 »
У 64х битных программ вызов функций из dll происходит несколько иначе
А Qt4 использую потому как у меня есть книжка по ней.
Записан
qate
Супер
Offline
Сообщений: 1177
Re: Установка Qt на Linux для кросс-компиляции: Linux 32/64 Windows 32/64
«
Ответ #13 :
Май 14, 2015, 08:31 »
Цитата: _Konstantin_ от Май 13, 2015, 14:27
У 64х битных программ вызов функций из dll происходит несколько иначе
А Qt4 использую потому как у меня есть книжка по ней.
1. dll чья, есть исходники ? моя мысль о том, что если веских причин использовать 64 бита нет, то и не нужно собирать проект под 64 бита - лишнее проблемы в поддержке.
2. qt4 "устарело", никому не интересно будет разбираться почему оно не собирается под 64х. написанное в книге можно успешно использовать в qt5. в qt5 уже есть сборки под 64 бита.
Записан
_Konstantin_
Гость
Re: Установка Qt на Linux для кросс-компиляции: Linux 32/64 Windows 32/64
«
Ответ #14 :
Май 14, 2015, 09:36 »
Исходники .dll есть, и веские причины есть, уже писал об этом - ПО для которого писалась .dll перешло на х64 и теперь из-за .dll выгружается и перестает работать, разработчики ПО так же написали, что теперь можно использовать .dll только х64, вот и озаботился.
А насчет устаревания Qt4 вы не правы, она не устарела и многие ее считают стабильнее Qt5, хотя наверное вы правы в том, что все равно уже пора переходить на Qt5. Вот только походу придется лопатить весь код написанный ранее на Qt4.
Записан
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...