Russian Qt Forum

Qt => Вопросы новичков => Тема начата: sergek от Декабрь 18, 2012, 19:07



Название: [Решено] Сборка проекта под Linux
Отправлено: sergek от Декабрь 18, 2012, 19:07
Коллеги,
во время сборки проекта в Fedora 17 (RFRemix) поимел ошибку
Код:
g++ -Wl,-O1 -Wl,-rpath,/home/sergek/QtSDK/Desktop/Qt/4.8.1/gcc/lib -o Register qtsoap.o main.o mainwindow.o coptions.o cxmlreader.o cnode.o csoaprequest.o cregister.o crequest.o xmldocs.o cenvelope.o csimplerep.o creports.o csoapclient.o moc_qtsoap.o moc_mainwindow.o moc_csoaprequest.o moc_csoapclient.o qrc_register.o    -L/home/sergek/QtSDK/Desktop/Qt/4.8.1/gcc/lib -lQtXml -L/home/sergek/QtSDK/Desktop/Qt/4.8.1/gcc/lib -lQtGui -L/usr/X11R6/lib -lQtNetwork -lQtCore -lpthread 
/usr/bin/ld: warning: libpng12.so.0, needed by /home/sergek/QtSDK/Desktop/Qt/4.8.1/gcc/lib/libQtGui.so, not found (try using -rpath or -rpath-link)
и дальше список не неопределенных ссылок на библиотечные вызовы.
Qt установлен из бинарника SDK 1.2.1, Creator 2.6 тоже.
Вроде понятно, что библиотека Gui требует libpng12, а в системе есть libpng15. Непонятно, чего ее не устраивает в более новой png?
Попробовал обмануть (указывал в LIBS+=, пробовал создать символьную ссылку с нужным именем), вызовы все равно неопределены.
Возникает вопрос, как _правильно_ выходить из такой ситуации, с учетом того, что программу надо передать в другие руки и на другую систему (например, ubuntu) - пересобирать Qt, собрать libpng12?
Кстати, где в Creator задаются опции компоновщика -rpath,  -rpath-link? В pro-файле
Код:
QMAKE_LFLAGS += -Wl,-rpath-link=/usr/lib
, так?


Название: Re: Сборка проекта под Linux
Отправлено: Dancing_on_water от Декабрь 19, 2012, 00:25
Попробуй создать символьную ссылку с именем libpng12.so.0 на libpng15


Название: Re: Сборка проекта под Linux
Отправлено: sergek от Декабрь 19, 2012, 05:51
Пробовал, не помогает.


Название: Re: Сборка проекта под Linux
Отправлено: skandinavijos от Декабрь 19, 2012, 06:21
а если из репов поставить, а не QtSDK?


Название: Re: Сборка проекта под Linux
Отправлено: Dancing_on_water от Декабрь 19, 2012, 08:44
Есть еще как минимум два варианта. Пересобрать Qt без png или со встроенным png. Либо скачать нужную версию и кинуть прямо в папку, где лежат либы Qt


Название: Re: Сборка проекта под Linux
Отправлено: sergek от Декабрь 21, 2012, 22:20
Спасибо. Решил проблему кардинально -снес fedorа, поставил ubuntu 12.04.1, qt-sdk, g++, qt creator2.6.1. Все прекрасно работает. Кстати, для сведения - на ubuntu SDK из бинарника не ставится, только из репозитория.