crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

5 страниц V  < 1 2 3 4 5 >  
Ответить в данную темуНачать новую тему
> Перенос программы с более новой мсвс(линукс) на более старую
loh
  опции профиля:
сообщение 25.4.2012, 0:34
Сообщение #21


Студент
*

Группа: Участник
Сообщений: 60
Регистрация: 11.5.2008
Пользователь №: 171

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Iron Bug @ 24.4.2012, 12:37) *
целиком собрать весь тулкит и все библиотеки - это надо месяц мозг парить и воевать с настройками.
проще собрать полностью цельный бинарник без внешних линков или с линками только на локальный каталог и попробовать запустить на целевой оси. это сработает, если кернелы на рабочей и целевой машине идентичны.

целиком собрать весь тулкит и все библиотеки - это надо месяц мозг парить и воевать с настройками.
проще собрать полностью цельный бинарник без внешних линков или с линками только на локальный каталог и попробовать запустить на целевой оси. это сработает, если кернелы на рабочей и целевой машине идентичны.

отлично, как это сделать? в винде на vs я знаю как это сделать

тупо прилепить длл в папку с прогой, и она хошь на хр хошь на 7, хошь на ce будет запускаться

в линуксе для qt надо миллиард зависимостей каким то раком обойти, и самый геморой - как убрать из зависимостей stdlibc++, особенно если её нифига нет в статике (

Сообщение отредактировал loh - 25.4.2012, 0:36
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 25.4.2012, 6:53
Сообщение #22


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


я не имею дел конкретно с Qt, но общелинюксовые настройки gcc таковы:
поиск библиотек при выполнении в какой-то папке -Wl,-rpath <путь>. Например, для поиска в локальной папке -Wl,-rpath. (точка важна).
статическая линковка libstdc++: -static-libstdc++
статическая линковка libgcc: -static-libgcc

Сообщение отредактировал Iron Bug - 25.4.2012, 6:55
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
loh
  опции профиля:
сообщение 25.4.2012, 9:51
Сообщение #23


Студент
*

Группа: Участник
Сообщений: 60
Регистрация: 11.5.2008
Пользователь №: 171

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Iron Bug @ 25.4.2012, 7:53) *
я не имею дел конкретно с Qt, но общелинюксовые настройки gcc таковы:
поиск библиотек при выполнении в какой-то папке -Wl,-rpath <путь>. Например, для поиска в локальной папке -Wl,-rpath. (точка важна).
статическая линковка libstdc++: -static-libstdc++
статическая линковка libgcc: -static-libgcc

как раз этим и занят, на платформе для разработки gcc 4.1.3 стоит, -static-libstdc++ поддерживается начиная с 4.5, собрал 4.5 gcc обновилась, g++ почему то нет (-v по прежнем 4.1.3), сейчас устанавливаю 4.7, может поможет... не понял почему обновилась только gcc без g++ :(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
maint
  опции профиля:
сообщение 25.4.2012, 10:10
Сообщение #24


Участник
**

Группа: Участник
Сообщений: 235
Регистрация: 3.8.2009
Из: Иркутск
Пользователь №: 982

Спасибо сказали: 28 раз(а)




Репутация:   2  


Цитата(loh @ 25.4.2012, 15:51) *
собрал 4.5 gcc обновилась, g++ почему то нет (-v по прежнем 4.1.3), сейчас устанавливаю 4.7, может поможет... не понял почему обновилась только gcc без g++ :(

потому что gcc и gcc-c++, как и gcc-fortran разные вещи.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
loh
  опции профиля:
сообщение 25.4.2012, 12:11
Сообщение #25


Студент
*

Группа: Участник
Сообщений: 60
Регистрация: 11.5.2008
Пользователь №: 171

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(maint @ 25.4.2012, 11:10) *
Цитата(loh @ 25.4.2012, 15:51) *
собрал 4.5 gcc обновилась, g++ почему то нет (-v по прежнем 4.1.3), сейчас устанавливаю 4.7, может поможет... не понял почему обновилась только gcc без g++ :(

потому что gcc и gcc-c++, как и gcc-fortran разные вещи.

а где взять source для сборки gcc-c++? :rolleyes:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
maint
  опции профиля:
сообщение 25.4.2012, 12:42
Сообщение #26


Участник
**

Группа: Участник
Сообщений: 235
Регистрация: 3.8.2009
Из: Иркутск
Пользователь №: 982

Спасибо сказали: 28 раз(а)




Репутация:   2  


Цитата(loh @ 25.4.2012, 18:11) *
Цитата(maint @ 25.4.2012, 11:10) *
Цитата(loh @ 25.4.2012, 15:51) *
собрал 4.5 gcc обновилась, g++ почему то нет (-v по прежнем 4.1.3), сейчас устанавливаю 4.7, может поможет... не понял почему обновилась только gcc без g++ :(

потому что gcc и gcc-c++, как и gcc-fortran разные вещи.

а где взять source для сборки gcc-c++? :rolleyes:

srpm то один должен быть. Во время сборки указывается., если память не изменяет, в опциях сборки. Ну а если tarball то в опциях configure
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
loh
  опции профиля:
сообщение 27.4.2012, 19:43
Сообщение #27


Студент
*

Группа: Участник
Сообщений: 60
Регистрация: 11.5.2008
Пользователь №: 171

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Iron Bug @ 25.4.2012, 6:53) *
я не имею дел конкретно с Qt, но общелинюксовые настройки gcc таковы:
поиск библиотек при выполнении в какой-то папке -Wl,-rpath <путь>. Например, для поиска в локальной папке -Wl,-rpath. (точка важна).
статическая линковка libstdc++: -static-libstdc++
статическая линковка libgcc: -static-libgcc

это параметры куда писать? у меня выдает сообщение что g++ не знаком с параметрами -static-libstdc++ -static-libgcc

как сделать чтобы все библиотеки брались только из -Wl,-rpath. , чтобы я их туда накидал и архивом с программой бросил на целевую машину? (а если их там нет, то даже на машине для разработки появлялась бы ошибка)

народ, покажите хотя бы как примерно мейкфайл должен выглядеть чтобы она собирал программу так, что она переносилась на любу систему :sad2:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 27.4.2012, 22:02
Сообщение #28


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


Цитата(loh @ 27.4.2012, 22:43) *
как примерно мейкфайл должен выглядеть чтобы она собирал программу так, что она переносилась на любу систему

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

насчёт параметров GCC - читать доки на сайте GCC. правда, я не помню, с какой версии компилятора стало можно линковать статически. к тому же, сам компилятор должен быть собран с возможностью статической линковки libgcc (это к тому, если ты сам его собирать будешь), стандартный собран со статикой, как правило.
кроме того, есть ещё одно ограничение на статику: если ты будешь линковать libgcc статически, то у тебя не будут работать эксепшны между динамическими библиотеками и твоей софтиной. это специфика обработки исключений. так что при статически прилинкованной libgcc если внешний модуль Qt вдруг кинет исключение, то ты его просто не увидишь. вполне вероятно, что в таких условиях Qt не будет работать нормально.

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
loh
  опции профиля:
сообщение 1.5.2012, 1:54
Сообщение #29


Студент
*

Группа: Участник
Сообщений: 60
Регистрация: 11.5.2008
Пользователь №: 171

Спасибо сказали: 0 раз(а)




Репутация:   0  


получилось слинковать g++ статически, осталось обойти зависимость от glibc - как это можно сделать? :blush2:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 1.5.2012, 13:59
Сообщение #30


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


уже десять раз написали, что -static-libgcc. но со всеми вытекающими отсюда сложностями, естественно. я вообще не знаю, можно ли с таким параметром собрать Qt. обычно это вызывает большие проблемы с взаимодействием динамических библиотек.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

5 страниц V  < 1 2 3 4 5 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 1.12.2024, 18:16