LINUX.ORG.RU

[Qt] Линкование


0

0

Qt, alt-linux. Компилятор молчит, изредка выкидывания варнинги типа отсутсвия пустой строчки в конце файла.

А вот линкер выдает очень много undefined reference to '...'.

Вдумчивое гугление вывело только на gcc\g++ управление линкером где указывались дополнительные библиотеки.

Для qmake я такого не нашел.

Как можно указать qmake линковать с определенной библиотекой?

или просто на заморачиваясь скомпилировать все moc файлы проекта при помощи g++ c указанием необходимой мне библиотеки? (про которую еще надо узнать где она.....)

Ответ на: комментарий от UVV

.pro

SUBDIRS += src
TEMPLATE = subdirs
CONFIG += release \
warn_on \
qt \
thread

или нужен файл kdevelop?

валится на функциях по обработке видео, тоесть надо в CONFIG добавить ffmpeg? (использую её)

desruptor ()
Ответ на: комментарий от desruptor

Как уже сказал kondor, LIBS в .pro. Ссылка. А вообще в документации в разделе про qmake все есть.

anonymous ()

Ну ведь позаботились же ребята из трольтеха, в SDK впилили _замечательный_ хелп по всему, что у них реализованно, доступный и понятный.
Даже Google использовать не надо - все там рассказанно.

К чему я это все? Ну я думаю, что ты и сам понял.

P.S. хелп называется QtAssistant лежит вот тут $QT_DIR/bin/assistant
Тебе необходимо почитать один раз внимательно «qmake Variable Reference» и будет тебе счастье.

trex6 ★★★★★ ()
Ответ на: комментарий от trex6

доки перечитал. они прекрасны, каюсь, что пропустил такую красоту.

Однако, на другом проекте (который делал не я) pro файл пуст на эту тему. А линкование там идет на ура.

И да, не помогло...

desruptor ()
Ответ на: комментарий от trex6

ffmpeg, судя по коментариям. (все таки работа с avi)

SUBDIRS += src TEMPLATE = subdirs CONFIG += release \ warn_on \ qt \ thread LIBS += -L/usr/local/lib -L/usr/lib

уже даже на про файл забил, набирал ручками g++ -o (список .o файлов) с указанием места где библиотеки, все тоже.

desruptor ()
Ответ на: комментарий от desruptor

Если говорить о .pro-файле, то он все равно не совсем верный. Если я правильно понимаю, должно быть что-то типа того:

...
LIBS += -lffmpeg -L/usr/local/lib -L/usr/lib
...

-L указывает только, где искать, а что искать, надо тоже явно указывать.

Ну и в связи с этим, подозреваю, что и ручной ввод g++ плюс параметры тоже может быть неверным

Iceman82 ()
Ответ на: комментарий от Iceman82

Уже указал, причем через -l библиотеки которые надо искать, если указать в pro файле, то эффекта нет. Если же руками собирать через g++ с теми же параметрами, то собирается.

Правда при запуске выдает undefined symbol av_crc04C11DB7

desruptor ()
Ответ на: комментарий от desruptor

Можно посмотреть ваш Makefile, созданный qmake и ручной ввод для g++?

trex6 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.