在Qt 5.4上编译QXmpp库时出错

时间:2015-04-28 15:34:48

标签: c++ qt xmpp qxmpp

我从今天早上开始尝试为QT calles qxmpp编译一个XMPP库。

我尝试使用Qt Creator并进行全部构建,但是编译器找不到名为-lqxmpp0的东西而且我不知道它是什么。不幸的是,谷歌并没有帮助。

我的Qt窗口: enter image description here

github Library

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

请检查qxmpp.pri中是否有类似这样的定义:

QXMPP_INCLUDEPATH = $$PWD/src/base $$PWD/src/client $$PWD/src/server

# Determine library name
CONFIG(debug, debug|release) {
    QXMPP_LIBRARY_NAME = qxmpp_d
} else {
    QXMPP_LIBRARY_NAME = qxmpp
}

# Determine library type (shared or staticlib)
isEmpty(QXMPP_LIBRARY_TYPE) {
    android | ios {
        QXMPP_LIBRARY_TYPE = staticlib
    } else {
        QXMPP_LIBRARY_TYPE = shared
    }
}

您是否看到QXMPP_LIBRARY_NAME定义了库的名称,还检查examples.pro中是否包含qxmpp.pri。我希望我的回答可以提供帮助。

答案 1 :(得分:-1)

  

-llibrary   -l library

     

链接时搜索名为library的库。 (第二种方法是将库作为单独的参数,仅适用于POSIX   合规,不推荐。)

     

在您编写此选项的命令中,它会有所不同;链接器搜索并处理库中的库和目标文件   他们是指定的。因此,'foo.o -lz bar.o'搜索库'z'   在文件foo.o之后但在bar.o之前如果bar.o指的是函数   'z',可能无法加载这些函数。

     

链接器搜索库的标准目录列表,   这实际上是一个名为liblibrary.a的文件。然后是链接器   使用此文件,就好像它已按名称精确指定一样。

     

搜索的目录包括几个标准系统目录以及您使用-L指定的任何目录。

     

通常,以这种方式找到的文件是库文件 - 归档文件,其成员是目标文件。链接器处理归档文件   通过它扫描定义到目前为止的符号的成员   被引用但未定义。但是,如果找到的文件是   普通的目标文件,它以通常的方式链接。唯一的   使用-l选项和指定文件名之间的区别是   -l用'lib'和'.a'包围库并搜索几个   目录。

https://gcc.gnu.org/onlinedocs/gcc/Link-Options.html

相关问题