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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: libQtCore.so.4.6.0 без libstdc++.so.6  (Прочитано 5440 раз)
mkv
Гость
« : Декабрь 16, 2009, 13:44 »

Доброго времени суток!

Подскажите, можно ли собрать libQtCore.so без линковки с libstdc++.so если я отключаю поддержку stl и исключений?
платформа linux + gcc

Заранее спасибо!
Записан
Rcus
Гость
« Ответ #1 : Декабрь 16, 2009, 15:04 »

После нескольких манипуляций с nm, sort, uniq, cat, cut и пайпами родился вот такой список общих символов
(убейте меня, я не знаю как сделать его иначе)
Цитировать
__bss_start
__cxa_allocate_exception
__cxa_begin_catch
__cxa_end_catch
__cxa_guard_abort
__cxa_guard_acquire
__cxa_guard_release
__cxa_pure_virtual
__cxa_rethrow
__cxa_throw
__gxx_personality_v0
_edata
_end
_fini
_init
operator delete(void*)
operator delete[](void*)
operator new(unsigned int)
operator new[](unsigned int)
std::exception::what() const
std::uncaught_exception()
typeinfo for std::exception
vtable for __cxxabiv1::__class_type_info
vtable for __cxxabiv1::__si_class_type_info
vtable for __cxxabiv1::__vmi_class_type_info
Зависимость от некоторых действительно можно устранить при помощи отключения поддержки stl, исключений и rtti, но скорее всего полностью избавиться не получится
Записан
mkv
Гость
« Ответ #2 : Декабрь 16, 2009, 17:01 »

Спасибо за ответ!

Может кто-то пробовал прилинковать libstdc++ статически к libQtCore.so?
Записан
niXman
Гость
« Ответ #3 : Декабрь 16, 2009, 20:00 »

Простите за оффтоп.
Не первый кожу. Но подобной надобности никогда не случалось. А если учесть что никсовой ОС не существует без этой либы(ровно как и без libc.so), то встает резонный вопрос: зачем?!
Целый день этот вопрос не дает покоя. Объясните пожалуйста.
« Последнее редактирование: Декабрь 16, 2009, 23:24 от Dendy » Записан
mkv
Гость
« Ответ #4 : Декабрь 17, 2009, 09:07 »

(((:
Это для встраиваемых устройств с ограниченными ресурсами...
Я сейчас ищу варианты уменьшения самопального дистрибутива.
На устройстве работает только моя программа...

З.Ы. как вариант, подумываю о полностью статической сборке.
Записан
Rcus
Гость
« Ответ #5 : Декабрь 17, 2009, 09:22 »

Полностью статически не надо, ибо libc нужен не только вашей основной программе, но и BusyBox'у. А вот статическая сборка сборка за исключением libc вполне даже здравая идея если приложение одно.
Записан
mkv
Гость
« Ответ #6 : Декабрь 17, 2009, 09:44 »

но можно пойти и дальше... подменить init своей статической прогой...
но, да... это не удобно...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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