お世話になります・杉原@CircleTekです
あさの さま
情報有難うございます
やはり、5.12.0 の mingw73_64 では上手くいかないようです
5.11.3 で試すと上手くいきますが mingw が 5.3.0 32bit です
あさの さまの環境では Qt 5.11.0 ビルドは msvc2017_64 ですか この場合 make は何ッを使っていますか?
4.Run make (mingw32-make)
ビルド環境の詳細をお知らせ頂けませんでしょうか
それと、どうも Windows 10 の環境の問題なのか 5.12.0 の mingw73_64 環境 では syncqt.pl -version 5.12.0 を実行すると
The -version argument is mandatory at C:\Qt\Qt5.12.0\5.12.0\mingw73_64\ bin\syncqt.pl line 891. となります
Windows 7 だと qmqke までは OK ですが mingw32-make でエラーになります
以下、ログです
C:\Users\SUGIHARA>cd C:\Qt\qtftp
C:\Qt\qtftp>C:\Qt\Qt5.12.0\5.12.0\mingw73_64\bin\syncqt.pl -version 5.12. 0 <srcbase> = C:/Qt/qtftp <bldbase> = C:/Qt/qtftp <outbase> = C:/Qt/qtftp QtFtp: created fwd-include header(s) for <srcbase>/src/qftp/ { qftp.h (2), qurli nfo.h (2) } QtFtp: created version header QtFtp: created master header QtFtp: created headers.pri file
C:\Qt\qtftp>qmake Info: creating stash file C:\Qt\qtftp.qmake.stash
C:\Qt\qtftp>mingw32-make cd src\ && ( if not exist Makefile C:\Qt\Qt5.12.0\5.12.0\mingw73_64\bin\ qmake.ex e -o Makefile C:\Qt\qtftp\src\src.pro ) && mingw32-make -f Makefile mingw32-make[1]: Entering directory 'C:/Qt/qtftp/src' cd qftp\ && ( if not exist Makefile C:\Qt\Qt5.12.0\5.12.0\mingw73_64\bin \qmake.e xe -o Makefile C:\Qt\qtftp\src\qftp\qftp.pro ) && mingw32-make -f Makefile Project MESSAGE: perl -w C:\Qt\Qt5.12.0\5.12.0\mingw73_64\bin\syncqt.pl -module QtFtp -version 5.0.0 -outdir C:/Qt/qtftp -builddir C:/Qt/qtftp C:/Qt/ qtftp <srcbase> = C:/Qt/qtftp <bldbase> = C:/Qt/qtftp <outbase> = C:/Qt/qtftp QtFtp: updated version header mingw32-make[2]: Entering directory 'C:/Qt/qtftp/src/qftp' mingw32-make -f Makefile.Release all mingw32-make[3]: Entering directory 'C:/Qt/qtftp/src/qftp' g++ -fno-keep-inline-dllexport -O2 -std=c++1z -fno-exceptions -Wall -W - Wextra - Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop- overflow -dM -E -o .moc\release\moc_predefs.h C:\Qt\Qt5.12.0\5.12.0\mingw73_64\ mkspecs\featu res\data\dummy.cpp g++: error: unrecognized command line option '-std=c++1z' g++: error: unrecognized command line option '-Wshift-overflow=2' g++: error: unrecognized command line option '-Wduplicated-cond' mingw32-make[3]: *** [Makefile.Release:124: .moc/release/moc_predefs.h] Error 1 mingw32-make[3]: Leaving directory 'C:/Qt/qtftp/src/qftp' mingw32-make[2]: *** [Makefile:40: release-all] Error 2 mingw32-make[2]: Leaving directory 'C:/Qt/qtftp/src/qftp' mingw32-make[1]: *** [Makefile:41: sub-qftp-make_first] Error 2 mingw32-make[1]: Leaving directory 'C:/Qt/qtftp/src' mingw32-make: *** [Makefile:43: sub-src-make_first] Error 2
あさのです
2.の <QTDIR>/bin/syncqt.pl -version 5.2.0 で The -version argument is mandatory at C:\Qt\Qt5.12.0\5.12.0\mingw73_64\ bin\syncqt.pl line 891.
syncqt.plの中を見てみましたが、エラーメッセージの通り -versionの設定は必須ですよのエラーですので、 "-version" が正しく認識されて いないみたいです。
g++: error: unrecognized command line option '-std=c++1z' g++: error: unrecognized command line option '-Wshift-overflow=2' g++: error: unrecognized command line option '-Wduplicated-cond'
前述のsyncqt.plの影響なのかは分かりませんが QtのOnlineInstallerからInstallしているmingwを使用していますか? こちらのエラーは、おそらくですけど、mingwのversionが古くエラーが出ているコ マンドラインオプションが 未対応でエラーになっているみたいです。
僕の方で、ざっくりWindowsのcygwin経由で確認してみましたが syncqt.plが問題なく動作してそうなので、もう一度Tryしてみませんか?
ぼくの環境での動作logを貼り付けておきます
$ /cygdrive/c/Qt/5.11.0/msvc2017_64/bin/syncqt.pl -version 5.11.0 <srcbase> = /cygdrive/s/qtftp.git <bldbase> = /cygdrive/s/qtftp.git <outbase> = /cygdrive/s/qtftp.git QtFtp: created fwd-include header(s) for <srcbase>/src/qftp/ { qftp.h (2), qurlinfo.h (2) } QtFtp: created version header QtFtp: created master header QtFtp: created headers.pri file
2019年1月18日(金) 17:08 SUGIHARA sugihara@circletek.jp:
お世話になります・杉原です
杉田 さま、あさの さま
ご教示頂いた方法で macOS Mojave Qt 5.12.0 を使って QtFtp をビルドしたと ころエラーもなく Qt 5.12.0 の clang_64/include/QtFtp に qftp.h 等作成さ れていますので OK だと思うのでテストしていきたいと思います 有難うございました
で、同様な環境を Windows で作成したいと思っているのですが、あさの さま に頂いた情報で
1.Open Console in the qtftp-folder 2.Generate the headers: cd qtftp, <QTDIR>/bin/syncqt.pl -version 5.2.0 3.Run qmake 4.Run make (mingw32-make) 5.Run make install (mingw32-make install) 6.Add QT += ftp in my .pro-file 7.Run qmake on my project 8.compile my project.
を実行しようとしたところ 2.の <QTDIR>/bin/syncqt.pl -version 5.2.0 で The -version argument is mandatory at C:\Qt\Qt5.12.0\5.12.0\mingw73_64\ bin\syncqt.pl line 891. となります qftp のモジュールバージョンは 5.0.0 のようなので -version 5.0.0 もやって みましたが同様の表示となります 取り敢えずそのまま3.を実行して4.mingw32-make を実行すると g++: error: unrecognized command line option '-std=c++1z' g++: error: unrecognized command line option '-Wshift-overflow=2' g++: error: unrecognized command line option '-Wduplicated-cond' となってしまいます
なにか対策、等御座いましたらご教示ください
以上です
杉田です
2019/01/18 13:11、SUGIHARA sugihara@circletek.jpのメール:
杉原です
杉田 さま
情報有難うございます
macOS Mojave で Qt 5.12.0 を使って QtFtp をビルドする具体的な方法を教え て頂けませんか
http://code.qt.io/cgit/qt/qtftp.git/%5Dhttp://code.qt.io/cgit/qt/qtftp.git/
から git clone はしています
PATH に Qt 5.12.0 の bin ディレクトリーを入れておいてから以下の手順ででき ます。
QtFtp のビルド、
$ cd qtftp $ qmake $ make $ make install
サンプルコードのビルド、
$ cd qtftp $ cat .qmake.conf #load(qt_build_config) <# を先頭に追加してコメントにする>
MODULE_VERSION = 5.0.0 $
$ cd qtftp/examples/qftp $ qmake $ make $ open qftp.app
例えば Ftp server: に匿名 ftp サーバーのホスト (ftp.iij.ad.jp など) を指定 し Connect をクリックするとログインしてファイルリストが表示されます。Cancel ボタンが 付い たダイア ログの Cancel をクリックしたり、リターンキーを押したり するとクラッシュします。原因は調べていません。
又、Qt をソースコード からビルドする方法もお願いします
Qt 内部にあるプライベートな QFtp を使うには configure に -developer-build オ プション を指定してシンボルが見えるようにします。従って、配布用のアプリケーション作 成 には向か ないです。
長くなるので参考情報を。
Qt のソースコードを取得してビルドをする方法について - Qiita https://qiita.com/task_jp/items/f0753c52c86a26928465
iMac 5K Core i7 で make -j 3 が約 3 時間です。
qdoc をビルドするには、上記に加えて以下より Clang for macOS を入れておき、 configure の前に環境変数設定しておきます。Qt のビルド後に make docs すればドキュメン ト が生成 されます。
http://releases.llvm.org/download.html
$ export
LLVM_INSTALL_DIR=/usr/local/src/clang+llvm-6.0.0-x86_64-apple-
darwin $ PATH=${LLVM_INSTALL_DIR}/bin:$PATH
Qt 初心者でお手数お掛けしますが宜しくお願いします
杉田です
macOS Mojave で Qt 5.12.0 を使って QtFtp をビルドして同梱の examples/ qftp を 動かしファイルリストが表示されました。ただし、このサンプルプログラムは 操作 に よってはクラッシュします。
[img:qftp.png]
Qt 5 は Qt 4 の QFtp をプライベートで抱えているので、Qt をソースコード か ら ビルドするならば、.pro に以下を追加すれば QFtp を使うようにできます。
QT += network-private
Qt 5.12 で試してみると QFtp でファイルをダウンロードできました。
2019/01/18 9:26、SUGIHARA <[a:mailto:sugihara@circletek.jp] sugihara@circletek. jp>のメール:
杉原です
あさの さま、情報有難うございます
4.x は macOS Mojave ではダメみたいですね QFtp を build する方法も mac ではどうなんしょうか。。。
QNetworkAccessManager で接続はできるみたいですが File List を取得する事 が出来ない。。。
FTP コマンドの ls put get delete が出来ればOKなんですが何か方法が有る でしょうか?
杉原さん
Qt5から、QFtpが取り除かれてしまったので、 Qt libraryのbuildをせずに使用する場合には、 Qt4系を使用するしかなさそうです。 特にQt4/5でこだわりがなければ、Qt4を使うと楽に使えそうです。
Qt5で使用する場合には、
[a:
http://code.qt.io/cgit/qt/qtftp.git/%5Dhttp://code.qt.io/cgit/qt/qtftp.
git/
からgitにてcloneしてもらい、個別でbuildする必要があります。
ただ、2014-11-07からcommit logが止まっているので Qt5で正常にbuildできるかちょっと疑問が個人的にあります。
build時に参考となりそうな情報がありましたので URL貼り付けときます。
stackoverflow : How to use add-on “QtFtp”? https://stackoverflow.com/questions/48058461/how-to-use-add-on-qtftp
ではでは
あさの かずお kazuo.asano@gmail.com
2019年1月17日(木) 11:34 SUGIHARA sugihara@circletek.jp:
はじめまして・杉原と申します
Qt 初心者で 5.12.0 をインストールしましたが QFtp を使う方法が有りますか
また、 Qt 4.8.7 等 4.x と 5.x のいずれを使うのが現状望ましいのでしょう か
宜しくご教示下さい
Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users
---html-part included links------- mailto:kazuo.asano@gmail.com mailto:sugihara@circletek.jp mailto:Qt-users@qt-users.jp _______________________________________________ Qt-users mailing list [a:mailto:Qt-users@qt-users.jp]Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users
-------------------------------text/plain-------------------------------
Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users
-------------------------------text/plain-------------------------------
Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users
Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users
Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users
Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users
---html-part included links------- http://syncqt.pl/ http://syncqt.pl http://code.qt.io/cgit/qt/qtftp.git/%5Dhttp://code.qt.io/cgit/qt/qtftp.git/ http://ftp.iij.ad.jp http://code.qt.io/cgit/qt/qtftp.git/%5Dhttp://code.qt.io/cgit/qt/qtftp
-------------------------------text/plain------------------------------- _______________________________________________ Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users