| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Qt Creator добавление динам. библиотек под Unix |
| Автор: KillerrrK 7.11.2012, 22:12 |
| Здраствуйте уважаемые)) Хелп ми плиз... Не могу справится с Qt Creator под Ubuntu. Цепляю динамическую библиотеку .so, а компиляка говорит что не знает таких файлов! file not recognized: File format not recognized У друга все ок компилется! Бью голову об стол уже 3-й день. Кругом все по перерыл, но нашёл только, что якобы в настройках, в инструментах чтото не то.... Подскажите плз куда копать... |
| Автор: loneybibi 8.11.2012, 02:49 | ||
Вообще ничего не понятно, что цепляет, куда, зачем ... Что то вроде "прилетели инопланетяне красная тряпка".. |
| Автор: borisbn 8.11.2012, 06:15 |
| KillerrrK, м.б. so-шник 64х разрядный, а приложение 32х ? Или наоборот. |
| Автор: math64 8.11.2012, 07:51 | ||
| Может быть .so лежит не в путях, в которых Ubuntu их ищет? Для debug версии путь, по которому нужно искать .so можно вшить в исполняемый файл:
Но для release такое решение не годится - при переносе на другую машину путь будет другой, а для помещении в "стандартные" места нужны права рута. |
| Автор: bsa 8.11.2012, 15:48 |
| KillerrrK, вариантов 2. Либо разрядность библиотеки (32 и 64 бита) несовместима с проектом. Либо ты не так добавил библиотеку в проект. Если ты покажешь, как добавлял ее в проект и что именно говорится компилятором (используй тег quote для этого), то мы сможем тебе помочь более конкретно. |
| Автор: KillerrrK 9.11.2012, 22:20 | ||||||
| Извените что долго не отвечал. В общем цепляю я libarchive. Установил с через apt-get .... В компиляторе библиотеку цепляю через Добавить библиотеку...->Внешнюю. Сколько не пробовал компилякать ничего не вышло. Все одна и та же ошибка. Да и сам прописывать тоже пробовал. Сейчас там висит такой код
еще так пробовал:
дядька комплиллятор ругает меня так:
bsa "используй тег quote для этого" - подскажите о каком теге речь? Я с Qt Creator'ом работаю всего неделю (Да и работой то не назвать... Бедную библиотеку замучился ему пихать!). С Ubuntu такая же история... Как вы наверное уже заметили по ругательствам компилятора, я прилажение пишу под meego harmattan.(Ну точнее хочу написать.). Без этой библы все естественно прекрасно компилится) |
| Автор: KillerrrK 9.11.2012, 22:31 |
| Только что до меня наконец дошло попробовать написать не meego а просто C++ прилажение... И все прекрасно отработало... Может ктонибудь обьяснить мне с чем это связано? И если libarchive нельзя использовать, то может можно какуюнибудь другую zip библиотеку взять чтоб с zip'ами работать? Добавлено через 1 минуту и 14 секунд Эммм... А как это я смогу его под харматтан пересобрать? |
| Автор: loneybibi 10.11.2012, 03:11 | ||
насколько я помню есть встроенные методы для сжатия\распаковки qCompress qUncopmpress! но не помню точно что они могут! А вообще есть библиотека zlib! http://www.wiki.crossplatform.ru/index.php/%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_zip_%D0%B0%D1%80%D1%85%D0%B8%D0%B2%D0%B0%D0%BC%D0%B8_%D0%B2_Qt И на форуме много тем про это. |
| Автор: KillerrrK 10.11.2012, 07:08 |
| loneybibi спасибо за ссылочку на qzip. zlib также как и libarchive идет исходниками правильно? Но при этом libarchive удобней. И все же хотелось бы узнать как ее под harmattan пересобрать? |
| Автор: loneybibi 10.11.2012, 16:43 | ||
Это полностью встроенная возможность Qt, не отдельная библиотека! Я думаю она легко соберется под Harmatan! Все что нужно подключить qzipreader_p.h и qzipwriter_p.h. Далее по примеру как в статье приведены работайте с zip архивами! Заголовочные файлы лежат: ../qt/src/gui/text Прочитайте внимательней статью! http://www.wiki.crossplatform.ru/index.php/%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_zip_%D0%B0%D1%80%D1%85%D0%B8%D0%B2%D0%B0%D0%BC%D0%B8_%D0%B2_Qt |
| Автор: bsa 11.11.2012, 23:06 | ||
заходишь на сайт, загружаешь исходники, распаковываешь, читаешь вдумчиво файл INSTALL (или README, или еще что), затем следуешь инструкциям, только не забудь указать правильный --target у configure (или компилятор, для других систем сборки). |