Я пытаюсь установить 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 *) ». Я застрял, я не знаю, что делать.
undefined reference to 'Qqft :: qftp (Qobject *)
означает, что компоновщик (по какой-то причине) не может разрешить вызов функции qftp
Вы сделали в своем коде.
QT += ftp
не заставляет QMake добавить библиотеку QFTP к вызову компоновщика в вашем файле Makefile. Посмотрите на ваш make-файл, если libqftp.so
(или, если вы используете Windows: qftp.dll
) или что-то подобное присутствует.qftp
не из вашего собственного кода, но из какой-то другой библиотеки, которую вы используете, возможно, что порядок библиотек в вызове компоновщика неправильный. Если компоновщик находит неразрешенный символ в библиотеке A, он ищет его только в упомянутых библиотеках после А в компоновщике вызов. Если это так, вам нужно выяснить, как вы можете изменить порядок библиотек в вызове компоновщика, сгенерированном qmake.Я нашел решение. Вам просто нужно было изменить файл qt_ftp.pri, расположенный в папке \ modules, добавив «include (.. \ mkspecs \ modules \ qt_lib_ftp.pri)» в первую строку файла