Собственная библиотека с использованием Qt: неопределенная ссылка - PullRequest
1 голос
/ 01 декабря 2011

Как вы, возможно, знаете из моих нескольких тем, я встраиваю Qt 4.7.4 в систему ARM; У меня только одна последняя проблема. = /

Я написал библиотеку, использующую Qt и скомпилированную с помощью qmake, чтобы получить файл .so ; это работает. Затем я написал софт, который должен использовать эту библиотеку, и который я компилирую с классической маркой. Проблема в том, что когда я пытаюсь скомпилировать этот софт, я получаю много «неопределенных ссылок» из моей библиотеки; все элементы Qt фактически отсутствуют. Я видел, что библиотеки Qt не найдены:

/usr/local/lib/star81xx-lsdk/tools/usr/bin/../lib/gcc/arm-linux-uclibc/4.2.3/../../../../arm-linux-uclibc/bin/ld: warning: libQtGui.so.4, needed by /home/jdl/workspace-install/MY_ARM_SYSTEM/fs/usr/lib/myLib.so, not found (try using -rpath or -rpath-link)
/usr/local/lib/star81xx-lsdk/tools/usr/bin/../lib/gcc/arm-linux-uclibc/4.2.3/../../../../arm-linux-uclibc/bin/ld: warning: libQtNetwork.so.4, needed by /home/jdl/workspace-install/MY_ARM_SYSTEM/fs/usr/lib/myLib.so, not found (try using -rpath or -rpath-link)
/usr/local/lib/star81xx-lsdk/tools/usr/bin/../lib/gcc/arm-linux-uclibc/4.2.3/../../../../arm-linux-uclibc/bin/ld: warning: libQtCore.so.4, needed by /home/jdl/workspace-install/MY_ARM_SYSTEM/fs/usr/lib/myLib.so, not found (try using -rpath or -rpath-link)

Почему myLib хорошо компилируется, если не знает, где находятся Qt-библиотеки? Можно ли добавить его вручную в мой мягкий Makefile?

Спасибо!

Ответы [ 3 ]

1 голос
/ 01 декабря 2011

При компиляции через cmd-строку необходимо добавить -L, чтобы указать путь к libQtGui.so.4 и другим, а затем добавить -lQtGui -lQtNetwork -lQtCore, чтобы эти библиотеки были связаны с вашим приложением.

0 голосов
/ 04 декабря 2011

На самом деле мне просто нужно было добавить путь к библиотеке и сделать символическую ссылку на libQtGui с помощью libQtGui.so.4;)

0 голосов
/ 03 декабря 2011

Многое вы еще не добавили в свой .pro файл:

  1. TARGET
  2. CONFIG
  3. QT
  4. ЛИЭС

Проверьте.

...