在Qt 5.6.0中安装qtftp模块

时间:2017-12-10 22:54:21

标签: c++ qt module qtftp

我正在尝试安装qftp,但它并没有真正起作用。我首先在github上恢复了源代码。然后我将源复制到Qt的src文件夹并重命名为“qtftp”文件夹,然后运行Perl syncqt.pl文件以生成标题和其他文件。然后我做了一个qmake,然后是一个make。

然后我将qtftp include文件夹中创建的QFtp文件夹复制到Qt include文件夹中。然后在我的项目的.pro文件中,我创建了一个在qtftp文件夹中创建的qt_ftp.pri文件的包含,并添加了QT + = ftp。我做了一个qmake,一切都很好。 #include不输出任何错误。

自我完成为Qftp完成了镍。但是在编译我的项目时,我有一个类型为“未定义引用'Qqft :: qftp(Qobject *)”的错误。我被卡住了,我不知道该怎么做。

2 个答案:

答案 0 :(得分:0)

undefined reference to 'Qqft :: qftp (Qobject *)表示链接器(由于某种原因)无法解析您在代码中对qftp进行的函数调用。

  • 可能添加QT += ftp不会导致QMake将QFTP-Library添加到Makefile中的链接器调用中。如果libqftp.so(或者,如果您使用的是Windows:qftp.dll)或类似的内容存在,请查看您的makefile。
  • 如果对qftp的调用不是来自您自己的代码,而是来自您正在使用的其他库,则链接器调用中的库顺序可能是错误的。如果链接器在库A中找到未解析的符号,则它仅在链接器调用中之后中查找的库中查找它。如果是这种情况,您将不得不了解如何更改qmake生成的链接器调用中库的顺序。

答案 1 :(得分:0)

我找到了解决方案。您只需要通过放置" include(.. \ mkspecs \ modules \ qt_lib_ftp.pri)"来修改位于\ modules文件夹中的qt_ftp.pri文件。在文件的第一行