問題タブ [quazip]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - quazip (Qt) で exe または dll ファイルを抽出できない
アプリケーションの更新をダウンロードしてインストールするためのqtフレームワークを構築しています(obj-cのsparkleなど)。ダウンロードは機能し、ダウンロードした zip ファイルは有効であり、コンテンツを手動で抽出できますが、フレームワークにquazip を介してコンテンツを解凍させると、ファイル (dll および exe) にはこれとこの文字列のみが含まれます:「MZ」と特別な文字間違ってエンコードされているため(Windowsではある種の正方形、Macでは「ê」)、正確に3バイトです。zip ファイルにテキスト ファイル (または xml) を含めると、手動で quazip を使用して正しく解凍されるため、ライブラリが正しくコンパイルされていると想定します。私のエラーはどこですか?
これは解決策の一部になると思いますhttp://en.wikipedia.org/wiki/DOS_MZ_executable ?
アップデートをインストールする私の方法は次のとおりです。
編集:
データ (QByteArray) が予想されるサイズであることがわかったので、問題は QFile が QByteArray の内容を exe/dll ファイルに本来あるべき方法で書き込まないことだと思いますか?
編集2:
書き込むファイル サイズのエラーが 1 つ見つかりました。
それ以外の
それでも、exeにはアイコンがないか、実行可能です(ただし、正しいファイルサイズです)。しばらくの間、DOS ウィンドウが開いたり閉じたりします。ウイルス対策ソフトウェアは実行されていますが、アラートはありません (これは企業のノートブックであるため、シャットダウンできず、ウイルス対策ソフトウェアが実行されているかどうかに関係なく、更新フレームワークも実行されているはずです)。
編集3:
exeファイルの作成は複雑だと思っていましたが、テスト目的で「実装」したばかげたバグの混合でした。だから単純な
十分なものです。
deb - ubuntu 14.04 の .deb パッケージの作成中に libquazip.so ライブラリをリンクする際の QT 5.2.1 アプリの問題
ubuntu 14.04 64ビット用のQT 5 .2.1デスクトップアプリの.debパッケージを作成しています。Ubuntu 14.04 に QT 5.2.1 をインストールし、quazip ライブラリを使用したテスト目的でデモ アプリを作成しました。アプリの .deb パッケージの作成中に、以下の問題が発生します。
dpkg-shlibdeps: エラー: debian/demoapp/usr/bin/DemoApp1 に必要なライブラリ libquazip.so.1 が見つかりませんでした (ELF 形式: 'elf64-x86-64'; RPATH: '') dpkg-shlibdeps: 警告: debian/demoapp/usr/bin/DemoApp1 が libz.so.1 に対してリンクされていない場合、パッケージは無用な依存関係を回避できます (ライブラリのシンボルを使用していません) dpkg-shlibdeps: エラー: 上記のエラーのため続行できません 注: ライブラリshlibs またはシンボル ファイルを持たない他のバイナリ パッケージでは検索されません。dpkg-shlibdeps がプライベート ライブラリを見つけやすくするには、-l を使用する必要がある場合があります。dh_shlibdeps: dpkg-shlibdeps -Tdebian/demoapp.substvars debian/demoapp/usr/bin/DemoApp1 が終了コード 2 を返しました make: *[binary-predeb-IMPL/demoapp] エラー 2 dpkg-buildpackage: エラー: fakeroot debian/rules バイナリがエラー終了ステータス 2 を与えました debuild: 行 1364 で致命的なエラー: dpkg-buildpackage -rfakeroot -D -us -uc が失敗しました
マシンのパス /usr/lib に libquazip.so.1 をコピーすると、以下の問題が発生しました。
dpkg-shlibdeps: エラー: /usr/lib/libquazip.so.1 の依存関係情報が見つかりません (debian/demoapp/usr/bin/DemoApp1 で使用) dh_shlibdeps: dpkg-shlibdeps -Tdebian/demoapp.substvars debian/demoapp/usr /bin/DemoApp1 が終了コード 2 を返しました make: * [binary-predeb-IMPL/demoapp] エラー 2 dpkg-buildpackage: エラー: fakeroot debian/rules バイナリがエラー終了ステータスを与えました 2 debuild: 行 1364 で致命的なエラー: dpkg-buildpackage - rfakeroot -D -us -uc に失敗しました
以下のように私のcmakelist.txtファイル。
cmake_minimum_required (バージョン 2.8.9)
プロジェクト (DemoApp1)
設定 (CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ";/opt/Qt5.2.1/5.2.1/gcc_64/lib/cmake;")
find_package(Qt5Widgets 必須)
include_directories(/home/manojpatidar/Manoj/Work/QT_WORK/Linux_Package/demoapp-1.0/lib/quazip-0.5.1/quazip)
リンクディレクトリ(/home/manojpatidar/Manoj/Work/QT_WORK/Linux_Package/demoapp-1.0/lib/quazip-0.5.1)
add_executable(DemoApp1 main.cpp mainwindow.cpp moc_mainwindow.cpp mainwindow.ui)
target_link_libraries(DemoApp1 quazip z)
インストール (TARGETS DemoApp1 RUNTIME DESTINATION bin)
qt5_use_modules(DemoApp1 ウィジェット)
私の Debian 制御ファイルは以下の通りです。
ソース: デモアプリ
セクション: ゲーム
優先度: 追加
メンテナ: Manoj Patidar
ビルド依存: debhelper (>= 8.0.0)、cmake、qtbase5-dev、cdbs
標準バージョン: 3.9.4
パッケージ: デモアプリ
アーキテクチャ: 任意
依存: ${shlibs:依存}、${misc:依存}
説明: 説明
ここに説明が入ります
「Depends: ${shlibs:Depends}, ${misc:Depends}」という行に quazip の依存関係をいくつか追加する必要があると思います。私が逃したものはありますか?. 問題を調べて、どこが間違っていたか教えてください。
ありがとう
c++ - QtDesigner と QuaZip の問題
Qt 内で zip ファイルを開いて操作するために QuaZip を使用する人の数はわかりませんが、次のコードを使用して zip ファイルを開こうとしています。
エラーが表示されます:
API の手順は非常に単純で、コードで逐語的に従っているため、ステップが抜けているかどうかはわかりません。ご覧のとおり、私は Qt5 を使用しています。QuaZip は 4 でしか動作しませんか? 最後に、誰もが経験したことのある Qt で zip ファイルを操作する別の方法はありますか?
ありがとう!
c++ - QuaZip - パスワードで保護されたファイル
パスワードで保護されたファイルを .zip から抽出しようとしていますが、QuaZip には以下の機能がありますが、暗号化されたファイルの操作方法に関するコード例や追加のドキュメントはありません。
暗号化されたファイルを QuaZip で抽出することは確実に可能ですか? もしそうなら、いくつかの例を教えてください:)
読み取り用にファイルを開きます。
これはオーバーロードされたメンバー関数で、便宜上提供されています。上記の関数とは、受け入れる引数のみが異なります。引数 password は、ファイルを復号化するためのパスワードを指定します。NULL の場合、この関数は open(OpenMode) と同じように動作します。
open() を参照します。
open() によって参照されます。
c++ - Mac 10.9、Qt 5.4、clang (64 ビット) で Quazip がエラーをスローする
Qt 5.4プロジェクトでQuazip 0.7.1(clangを使用して同じマシンでQt 5.4でコンパイル)を使用して、アーカイブ内のファイルを圧縮しようとしています。このコードは、MSVC 2012 コンパイラを使用して Windows で正常に動作しますが、Mac OSX では同じコードがエラーでクラッシュしますQIODevice::open file access not specified
。以下は私のコードのスニペットです。
zip.open 呼び出しでコードがクラッシュします。アドバイスやアイデアをいただければ幸いです。ありがとう
c++ - Windows 8.1 および qt クリエーターで quazip をコンパイルします。
私は新しく、qt 5.5でQuazipを使用しようとしています。そこで、http: //quazip.sourceforge.net/からプロジェクト ソースをダウンロードし、.pro ファイルを開きました。プロジェクトをビルドしようとすると、複数のエラーが発生しました:
インストールしたばかりの Windows で zlib をビルドしないようにするために (ここから: http://gnuwin32.sourceforge.net/packages/zlib.htm )、C:\GnuWin32 にある Windows 用の完全なパック。次に、次の行を .pro ファイルに追加しました。
これにより、別のエラーが発生しました。
しかし、この行を変更する
これに問題を修正しました。
残念ながら、現在、25 個の未解決の外部シンボルを取得しています。そのうちのいくつかは次のとおりです。
この行を追加してみます:
しかし、それは問題を解決しませんでした。Qt で Quazip を使用する最も簡単な方法は何ですか?
c++ - Qt: ファイルを抽出し、QProgressDialog で進行状況を表示する QuaZip
QuaZip を使用して .zip ファイルを抽出し、その抽出の進行状況を QProgressDialog に表示するにはどうすればよいですか?
この質問1 (およびこの質問2 )の例を試してみましたが、成功しませんでした。.zip ファイル (.gz ファイルではない) を解凍する必要があり、そのコードには進行状況の割合が表示されますが、ファイルは解凍されないためです。それでも、QProgressDialog でその % を表示する方法がわかりません。
以下を使用して .zip ファイルを抽出できました。
ただし、QProgressDialog で抽出の進行状況をリアルタイムで表示する必要があるため、それは私の目標には十分ではありません...
これは私のコードです:
どこ:
このコードでは、QProgressDialog は進行状況バーを表示せず、最後にファイルは解凍されません。
何か案が?
ご協力いただきありがとうございます、
c++ - Quazip でディレクトリ圧縮の進行状況を取得する
JlCompress 関数を使用するときに QuaZip から進行状況を取得する方法はありますか?
これが私がそれを使用している方法です:
c++ - p7zip を使用した暗号化と圧縮
QT Xcode プロジェクトで 7zip の使用を置き換えようとしています。現在、ファイルはパスワードを使用してアーカイブされており、Windows 上の私のプロジェクトは、アクセスするとファイルが自動的に開かれるときに 7z を使用します。p7zip が Linux/Mac 用の 7zip のポートであることがわかりました。目的は次のとおりです。
- パスワード付きの既存の 7zip アーカイブ ファイルを開く
- パスワード付きのストリームを単一のファイルとして保存します。
次のコマンドでビルドしました
エラーなしでビルドされましたが、*.a または *.dylib ファイルが見つかりません。代わりに、bin フォルダーで次を見つけます
- 7z
- 7z.so
- コーデック
コーデックには Rar.so があります
それはLinuxのlibファイルですよね?
私は Mac 開発に非常に慣れていないため、ヘルプや提案があれば役に立ちます。サンプルプログラムも見つかりません。