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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: проблема с компиляцией  (Прочитано 3562 раз)
kopernik21187
Гость
« : Август 26, 2009, 15:09 »

Добрый день!
   у меня проблемы компиляции программы в Qt 4.5 под Linux Debian 5.0.2.  Поставилось все нормально, также нормально проходит
qmake -project и qmake, но при выполнеии make вылезает сообщение:

Код:
g++ -Wl,-O1 -Wl,-rpath,/opt/qtsdk-2009.03/qt/lib -o hello hello.o   
 -L/opt/qtsdk-2009.03/qt/lib -lQtGui -L/opt/qtsdk-2009.03/qt/lib
-L/usr/X11R6/lib -pthread -lfreetype -lgobject-2.0 -lSM -lICE -pthread
-pthread -lXrender -lfontconfig -lXext -lX11 -lQtCore -lm -pthread
-lgthread-2.0 -lrt -lglib-2.0 -ldl -lpthread
/usr/bin/ld: cannot find -lfreetype
collect2: ld returned 1 exit status
make: *** [hello] Ошибка 1
 знаю, что данная тема уже поднималась на форуме тутhttp://www.prog.org.ru/topic_6463_0.html, но решение проблемы, описанное там мне не помогло.
  с помощью locate я нашел эту библиотечку freetype
 
Код:
/usr/lib/libfreetype.so.6
/usr/lib/libfreetype.so.6.3.18
как я понимаю это libfreetype.so.6

далее  я прописал в файле ld.so.conf  путь к этой библиотеке
Код:
export LD_LIBRARY_PATH="/usr/lib/libfreetype.so.6"
и далее выполняю ldconfig, но получаю сообщение
Код:
ldconfig: "/usr/lib/libfreetype.so.6"  не является известным типом библиотеки
подскажите пожалуйста, как для ld правильно прописать путь к этой библиотеке правильно Непонимающий
« Последнее редактирование: Август 26, 2009, 15:11 от kopernik21187 » Записан
Rcus
Гость
« Ответ #1 : Август 26, 2009, 15:22 »

http://www.prog.org.ru/topic_8879_0.html
http://www.prog.org.ru/topic_9762_0.html
Просто нужны devel пакеты.
Записан
kopernik21187
Гость
« Ответ #2 : Август 26, 2009, 17:04 »

Спасибо большое!Действительно пришлось доставлять много пакетов и помогло Улыбающийся
Записан
juvf
Программист
*****
Offline Offline

Сообщений: 570


Просмотр профиля
« Ответ #3 : Сентябрь 05, 2009, 05:55 »

Таже проблема, на том же Debian 5.0.2

Работал раньше в FreeBSD, в Mandrive 2008 и в Windows XP. В FreeBSD в портах (в репах) не было свежей Qt, поэтому качал у тролей исходники и собирал Qt сам для каждой ос. При конфигурации, например для FreeBSD, указывал -prefix /usr/Qt4.1. Ну и потом производил сборку командами
Код:
#/usr/Qt4.1/bin/qmake
#make

Появлялась новая версия Qt, ставил её в папку /usr/Qt4.2. Я так понимаю, что все либы и хиберы, которые нужны qt, были в указанных мной папках /usr/Qt4.1 или /usr/Qt4.2. Не было ни когда ругони что не хватает lfreetype или -lgobject-2.0. А что сейчас происходит? Ставлю Qt4.5.2 инсталлером скаченным с trolltech в указанную мной папку, например в /usr/Qt4.5.2. Запускаю сборку приложения и получаю - /usr/bin/ld: cannot find -lfreetype. Проблема решается установкой некоторых пакетов, например libqt4-dev, который поставит кучу зависимостей таких как libqt4-svg версии 4.4.3-1 и еще куча от qt4.4.3. Но зачем мне эти старые либы? Зачем мне этот мусор? По идее все либы лежат в /usr/Qt4.5.2. А сейчас что происходит? Почему установив пакет qt-sdk, т.е. пакет для разработки приложений, устанавливает не все либы и требует ещё какие то lib-develop?

А если собрать qt из исходников - тоже потом придётся доставлять пакеты develop от старой qt?
Записан
Rcus
Гость
« Ответ #4 : Сентябрь 05, 2009, 06:07 »

На самом деле тот кому надо может посмотреть на дерево зависимостей Qt/X11 и установить нужные пакеты без проблем, просто сказать apt-get install libqt4-dev гораздо короче и это сработает с очень высокой вероятностью. В дистрибутиве Qt есть свои библиотеки freetype,png,z,mng,jpeg она может быть собрана без glib и т.д. Но все это вам не нужно Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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