2020年3月22日日曜日

Taglib Quazip ビルドとインスト Qt c++


この三連休はこれでほぼつぶれた
俺には無理なんじゃ無いかと諦めかけたが次の日になったらアイデアも浮かんできて少しづつ進んだ
うまくいってよかった(・∀・)ノ

Taglib


環境

win10 64、Qt 5、MSVS 2019

ビルド

①ソースを落とす(私の時は1.11.1)
②適当なフォルダに展開してフォルダをVSで開いてcmakeの処理終了を待つ
フォルダはtaglib doc bind の三つで良い、邪魔なので他のフォルダは展開しない
③cmakeの編集に移って、2箇所にチェックして、JSONの編集で確認する
④デフォルトはx64-debug なのでx64-Reeaseも作っておく
⑤両方でビルドして、インストール。dllとライブラリ、インクルードヘッダがまとめて出来る
debugとreleaseで違うのはdllだけです、多分

使い方

①Qtでプロジェクト作成して、プロジェクトの右クリックでライブラリを追加する
手でproにINCLUDEPATH とLIBS を追加しても同じです
②簡単なタグ取得コードを書いて実験
③ヘッダが見つからないエラー→INCLUDEPATHの設定ミス
④POLINKエラー→LIBSの設定ミス
⑤起動して突然のクラッシュ→tag.dllを読み込めてないだけなので、Qtのbinフォルダに入れてしまうか(推奨)、実行ファイルと同じフォルダに入れる

雑感

ものすごく悩みながらやったが、上手くいかなかった原因は何とかQtでビルドしようとしたことと、dllを作ろうとしなかったことだと思う。
あと、ネットではmingwでビルドする情報しか見つからなかったが、普通にVSでいけました

音楽再生アプリを作るのに必要だったライブラリ
pythonだとmutagenで簡単にできるのにc++は面倒だ~
しかしちょっといじっただけだがalbum-artistタグの取得が面倒でまだ出来てない
取得の速さもわからない
考えたら書き込みはしない、読むだけなので自力で実装してもいけるんじゃ無いかと思えてきた
ID3のv1とv2に対応すれば良いだけじゃないのかな
フォーマットによってそれぞれ違うんだろうか??

Quazip


①zlibを落としてMSVSでビルドしてインストール
②それを前提にQuazipを落としてQtCreatorで開いてビルドする
③生成されたヘッダ、ライブラリをQtのプロジェクトに組み込んでJcompress 辺りで実験してみて上手くいったら終わり
④dllをQtのbinに入れることを忘れずに

zlibのdll、ヘッダ、ライブラリが必要です
イキナリQuazipを落としてQtCreatorで開くとヘッダが見つからないエラーになる
ヘッダさえあれば良いのかと思って、Qtのメンテナンスでsourcdeを落としたら、3G近くになって、確かにヘッダは落とせたんだけどライブラリが無いからリンクエラーで進まないのさ
なのでまずはzlibを単独で落として自力でビルドすることが必要です

Jcompressは確かに簡単なクラスだけど私の目的は無圧縮zip作成で、この操作はまだ出来てない
zlibって圧縮するだけでzipのフォーマットにはしてくれないみたいだ
それをQuaZipがしてくれる
しかし
それだけなら自分でも出来る、以前はやっていたので
せっかく使えるようになったけども、使わないかもだなあ・・・

0 件のコメント:

コメントを投稿