Перенос программы с более новой мсвс(линукс) на более старую |
Здравствуйте, гость ( Вход | Регистрация )
Перенос программы с более новой мсвс(линукс) на более старую |
loh |
19.4.2012, 15:29
Сообщение
#11
|
Студент Группа: Участник Сообщений: 60 Регистрация: 11.5.2008 Пользователь №: 171 Спасибо сказали: 0 раз(а) Репутация: 0 |
Да с qt то проблемы отпали..
А где взять нормальный образ ред хат 6.2 или какой нибудь другой, что бы в нём можно было собирать всё статически?.. |
|
|
ssoft |
19.4.2012, 16:59
Сообщение
#12
|
Участник Группа: Участник Сообщений: 130 Регистрация: 17.2.2010 Из: Москва Пользователь №: 1470 Спасибо сказали: 30 раз(а) Репутация: 3 |
Вопрос: как собрать программу со статической линковкой всех библиотек, а не только qt, или есть ли вариант как в винде просто перетащить все динамические библиотеки в папку с программой и сказать что бы линковалась из папки? Мы поступали примерно так. Собирали Qt необходимой версии на целевой платформе из исходников. Если для Qt нельзя сделать make install (корректно установить Qt), то просто копировали все динамические библиотеки Qt в папку с программой. Чтобы программа запускалась с локальными либами, необходимо задать значение для переменной окружения. Обычно прописывали внутри .bash_profile
Все запускалось и работало. |
|
|
loh |
19.4.2012, 17:10
Сообщение
#13
|
Студент Группа: Участник Сообщений: 60 Регистрация: 11.5.2008 Пользователь №: 171 Спасибо сказали: 0 раз(а) Репутация: 0 |
Так с локальными же не запустится :о ? Надо все динамические библиотеки скопировать с системы где собрана программа?
Так с локальными же не запустится :о ? Надо все динамические библиотеки скопировать с системы где собрана программа? Так с локальными же не запустится :о ? Надо все динамические библиотеки скопировать с системы где собрана программа? |
|
|
Гость_Гость_* |
19.4.2012, 22:22
Сообщение
#14
|
Гости |
Собери Qt на той версии MCBC на которой нужно развернуть, сделай ей install в кастомную дирректорию, собери rpm(не обязательно, но так будет удобней), разверни rmp на девелоперской машине, если потребуется установи на девелоперской машине пакеты gcc из дистрибутива интересующей тебя версии(те с которыми компилилась Qt), и собирай билд для более старой версии с этим тул сетом, кстати QtCreator можно настраивать так что бы он собирал сразу несколько билдов разными тулсетами.
Проверялось при разработке на MCBC 3,x и 4.RC2(или 2.х и 3.RC2 точно не помню) |
|
|
loh |
19.4.2012, 23:35
Сообщение
#15
|
Студент Группа: Участник Сообщений: 60 Регистрация: 11.5.2008 Пользователь №: 171 Спасибо сказали: 0 раз(а) Репутация: 0 |
с самого начала пробовал, но чето не захотел qt там собираться, надо ещё попробовать...
короче что нибудь из предложенного попробую всем спасибо! |
|
|
loh |
21.4.2012, 12:03
Сообщение
#16
|
Студент Группа: Участник Сообщений: 60 Регистрация: 11.5.2008 Пользователь №: 171 Спасибо сказали: 0 раз(а) Репутация: 0 |
Вопрос: как собрать программу со статической линковкой всех библиотек, а не только qt, или есть ли вариант как в винде просто перетащить все динамические библиотеки в папку с программой и сказать что бы линковалась из папки? Мы поступали примерно так. Собирали Qt необходимой версии на целевой платформе из исходников. Если для Qt нельзя сделать make install (корректно установить Qt), то просто копировали все динамические библиотеки Qt в папку с программой. Чтобы программа запускалась с локальными либами, необходимо задать значение для переменной окружения. Обычно прописывали внутри .bash_profile
Все запускалось и работало. на целевой платформе gcc 2.95 и qt не ставится =\ |
|
|
Гость_Гость_* |
21.4.2012, 16:19
Сообщение
#17
|
Гости |
В мсвс свои версии большинства продуктов, посмотри вывод gcc --version, кстати в поставке обычно идет 2 комплекта
gcc разных версий, один из которых по умолчанию не присутствует на путях вообще, где лежит к сожалению не помню либы лежат вроде в (/usr/local/версия gcc/lib). Qt до 4.7.x включительно я собственно-ручно собирал на всех версиях мсвс которые мне попадались в руки, собираются они не всегда гладко, но собираются. Есть кстати один маленький трюк который по неведомым для меня причинам обычно позволяет повысить "собираемость" Qt: в spec файле используемым для сборки под Linux заменить g++ на gcc(кстати если потом с таким же изменением собирать проекты, то неожиданно под мсвс начинают корректно работать исключения). Обычно для сборки Qt на мсвс оказывается достаточно небольших изменений в spec файле и правильной настройки путей, на более новый gcc, хотя как мне кажется, если поковыряться то можно и со старой версией gcc собрать. Если ты не ограничен сертифицированными продуктами, то можешь просто собрать новую версию gcc с которой Qt соберется вообще без проблем. И распостранять бинарики этого gcc и Qt собранной им в виде rpm. Если мсвс приобретенна легально, так же можно обратится в вниинс, они как бэ обязуются предоставлять поддержку, правда ребята они долгие. |
|
|
loh |
21.4.2012, 21:08
Сообщение
#18
|
Студент Группа: Участник Сообщений: 60 Регистрация: 11.5.2008 Пользователь №: 171 Спасибо сказали: 0 раз(а) Репутация: 0 |
да вроде поставил gcc поновее все равно ошибку выдает, бесит линукс
вот gcc -v был 2.95, ща 3.3 все равно не собирается, может gcc криво собрал.. сейчас хочу поставить федору 12, на ней собрать статически и перекинуть на исходную мсвс, это получится? короче надо на голую мсвс3 r12 поставить программу написанную на qt>4.5 а как и где собрать её - без разницы |
|
|
loh |
24.4.2012, 0:01
Сообщение
#19
|
Студент Группа: Участник Сообщений: 60 Регистрация: 11.5.2008 Пользователь №: 171 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
Iron Bug |
24.4.2012, 12:37
Сообщение
#20
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
целиком собрать весь тулкит и все библиотеки - это надо месяц мозг парить и воевать с настройками.
проще собрать полностью цельный бинарник без внешних линков или с линками только на локальный каталог и попробовать запустить на целевой оси. это сработает, если кернелы на рабочей и целевой машине идентичны. целиком собрать весь тулкит и все библиотеки - это надо месяц мозг парить и воевать с настройками. проще собрать полностью цельный бинарник без внешних линков или с линками только на локальный каталог и попробовать запустить на целевой оси. это сработает, если кернелы на рабочей и целевой машине идентичны. |
|
|
Текстовая версия | Сейчас: 29.11.2024, 10:43 |