2017-12-10 26 views
0

qftp를 설치하려고하는데 실제로 작동하지 않습니다. 나는 먼저 기생충에 관한 소식을 찾아 냈다. 그런 다음 Qt의 src 폴더에 소스를 복사하고 "qtftp"폴더의 이름을 바꾼 다음 Perl syncqt.pl 파일을 실행하여 헤더와 다른 파일을 생성합니다. 그렇다면 나는 qmake를 한 다음 make를했습니다.Qt 5.6.0에 qtftp 모듈 설치

그런 다음 qtftp include 폴더에서 생성 된 QFtp 폴더를 Qt include 폴더에 복사했습니다. 그런 다음 내 프로젝트의 .pro 파일에서 qtftp 폴더에 생성 된 qt_ftp.pri 파일을 포함시키고 QT + = ftp를 추가했습니다. 나는 qmake를했다, 모든 것은 멋지다. #include는 오류를 출력하지 않습니다.

자기 완성으로 Qftp 용 니켈이 완성됩니다. 그러나 내 프로젝트를 컴파일 할 때 "Qqft :: qftp (Qobject *)"에 대한 정의되지 않은 참조 형식의 오류가 있습니다. 내가 붙어있어, 어떻게해야할지 모르겠다.

답변

0

해결책을 찾았습니다. 파일의 첫 줄에 "include (.. \ mkspecs \ modules \ qt_lib_ftp.pri)"를 입력하여 \ modules 폴더에있는 qt_ftp.pri 파일을 수정하기 만하면됩니다.

0

undefined reference to 'Qqft :: qftp (Qobject *)은 링커가 (어떤 이유로 든) 코드에서 작성한 qftp으로 함수 호출을 해결할 수 없음을 의미합니다.

  • 아마도 QT += ftp을 추가해도 QMake는 QFTP-Library를 Makefile의 링커 호출에 추가하지 않습니다. libqftp.so (또는 Windows를 사용하는 경우 : qftp.dll) 또는 이와 유사한 것이 있으면 메이크 파일을보십시오.
  • qftp에 대한 호출이 자신의 코드가 아닌 다른 일부 라이브러리에서 온 경우 링커 호출의 라이브러리 순서가 잘못되었을 수 있습니다. 링커가 라이브러리 A에서 확인되지 않은 심볼을 찾으면 링커 호출에서 A 뒤에 이라고 표시된 라이브러리에서만 링커를 찾습니다. 이 경우 qmake가 생성 한 링커 호출에서 라이브러리 순서를 변경하는 방법을 찾아야합니다.
+0

방금 ​​검토 한 모든 것을 검토하려고했습니다. 그러나 문제는 계속된다. 모듈을 잘못 설치했는지 또는 모듈을 잘못 설치했는지 알 수 없습니다. –