Перенос программы с более новой мсвс(линукс) на более старую |
Здравствуйте, гость ( Вход | Регистрация )
Перенос программы с более новой мсвс(линукс) на более старую |
loh |
18.4.2012, 11:50
Сообщение
#1
|
Студент Группа: Участник Сообщений: 60 Регистрация: 11.5.2008 Пользователь №: 171 Спасибо сказали: 0 раз(а) Репутация: 0 |
Значит такое дело:
Есть программа, писал в винде на qt4, надо перенести на линукс (мсвс) где этого qt4 нет. На эту мсвс ничего устанавливать нельзя. Есть более новый мсвс (на том же ядре), с нужной версией, туда перенести удалось. Также удалось статически слинковать qt, но теперь при переносе на ранюю версию возникают ошибки по другим библиотекам динамическим — libstdc, libgcc и прочие зависимости. Вопрос: как собрать программу со статической линковкой всех библиотек, а не только qt, или есть ли вариант как в винде просто перетащить все динамические библиотеки в папку с программой и сказать что бы линковалась из папки? |
|
|
Iron Bug |
25.4.2012, 6:53
Сообщение
#2
|
Профессионал Группа: Модератор Сообщений: 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
Сообщение
#3
|
Студент Группа: Участник Сообщений: 60 Регистрация: 11.5.2008 Пользователь №: 171 Спасибо сказали: 0 раз(а) Репутация: 0 |
я не имею дел конкретно с 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++ |
|
|
loh |
27.4.2012, 19:43
Сообщение
#4
|
Студент Группа: Участник Сообщений: 60 Регистрация: 11.5.2008 Пользователь №: 171 Спасибо сказали: 0 раз(а) Репутация: 0 |
я не имею дел конкретно с Qt, но общелинюксовые настройки gcc таковы: поиск библиотек при выполнении в какой-то папке -Wl,-rpath <путь>. Например, для поиска в локальной папке -Wl,-rpath. (точка важна). статическая линковка libstdc++: -static-libstdc++ статическая линковка libgcc: -static-libgcc это параметры куда писать? у меня выдает сообщение что g++ не знаком с параметрами -static-libstdc++ -static-libgcc как сделать чтобы все библиотеки брались только из -Wl,-rpath. , чтобы я их туда накидал и архивом с программой бросил на целевую машину? (а если их там нет, то даже на машине для разработки появлялась бы ошибка) народ, покажите хотя бы как примерно мейкфайл должен выглядеть чтобы она собирал программу так, что она переносилась на любу систему |
|
|
Текстовая версия | Сейчас: 25.11.2024, 17:28 |