Установка модуля qtftp в Qt 5.6.0
Я пытаюсь установить qftp, но он не работает. Я сначала восстановил источники на github. Затем я скопировал исходные коды в папку Qt src и переименовал папку "qtftp", затем запустил файл Perl syncqt.pl для генерации заголовков и других. Затем я сделал Qmake, а затем сделать.
Затем я скопировал папку QFtp, созданную в папке включения qtftp, в папку включения Qt. Затем в файле.pro моего проекта я включил файл qt_ftp.pri, созданный в папке qtftp, и добавил QT + = ftp. Я сделал qmake, все хорошо. #include не выдает никаких ошибок.
Самостоятельное завершение никеля для Qftp. Но при компиляции моего проекта у меня появляется ошибка типа "неопределенная ссылка на" Qqft:: qftp (Qobject *)". Я застрял, я не знаю, что делать.
2 ответа
Я нашел решение. Вам просто нужно было изменить файл qt_ftp.pri, расположенный в папке \ modules, добавив "include (.. \ mkspecs \ modules \ qt_lib_ftp.pri)" в первую строку файла
undefined reference to 'Qqft :: qftp (Qobject *)
означает, что компоновщик (по какой-то причине) не может разрешить вызов функции qftp
Вы сделали в своем коде.
- Возможно добавление
QT += ftp
не заставляет QMake добавить библиотеку QFTP к вызову компоновщика в вашем файле Makefile. Посмотрите на ваш make-файл, еслиlibqftp.so
(или, если вы используете Windows:qftp.dll
) или что-то подобное присутствует. - Если звонок
qftp
не из вашего собственного кода, но из какой-то другой библиотеки, которую вы используете, возможно, что порядок библиотек в вызове компоновщика неправильный. Если компоновщик находит неразрешенный символ в библиотеке A, он ищет его только в библиотеках, упомянутых после A в вызове компоновщика. Если это так, вам нужно выяснить, как вы можете изменить порядок библиотек в вызове компоновщика, сгенерированном qmake.