2011-12-01 90 views
1

正如你现在可能从我的多个主题知道的,我将Qt 4.7.4嵌入到ARM系统上;我只有最后一个问题。 =/使用Qt的自己的库:undefined reference

我写了一个使用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吗?

谢谢!

回答

1

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

0

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

  1. TARGET
  2. CONFIG
  3. QT
  4. LIBS

检查。

0

其实我只是需要添加到库的路径,并用libQtGui.so.4作为libQtGui的符号链接;)