使用Qt自己的库:未定义的引用

时间:2011-12-01 11:11:23

标签: qt4 embedded

正如您现在可能从我的多个主题中了解到的,我将Qt 4.7.4嵌入到ARM系统中;我只有最后一个问题。 = /

我写了一个使用Qt的库,我用qmake编译,以获得 .so 文件;这样可行。然后我写了一个应该使用这个库的软件,并且我用经典的make编译。问题是,当我尝试编译这个软件时,我从我的库中获得了很多“未定义的引用”;事实上,所有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 libs在哪里?我可以手动将其添加到我的软Makefile中吗?

谢谢!

3 个答案:

答案 0 :(得分:1)

通过cmd-line进行编译时,需要添加-L以指定libQtGui.so.4和其他所在的路径,然后添加-lQtGui -lQtNetwork -lQtCore以便这些库链接到您的应用程序

答案 1 :(得分:0)

有很多你还没有添加到.pro文件中:

  1. TARGET
  2. CONFIG
  3. QT
  4. LIBS
  5. 检查。

答案 2 :(得分:0)

实际上我只需要添加库的路径,并使用libQtGui.so.4与libQtGui建立符号链接;)