QtプロジェクトでTagLib1.6.3をコンパイルして使用するのに非常に苦労しています。私は考えられるすべてを試しました。TagLibは、CMakeでサポートされていると主張していますが、運が悪いです。さらに、Qtライブラリに必要なファイルの種類についても混乱しています。
* .aファイル、*。lib、および*.dllを作成しました。これまでのところ理解していることから...私はWindowsで作業しているので、*。libが欲しいと思っています。私が何をしようとも、Qtプロジェクトをコンパイルしようとすると、使用しようとするTagLib関数への「未定義の参照」が常に発生します。MinGW32、MSYS、Visual Studio 2008、さらにはLinux上のWindows用のクロスコンパイルも試しました。すべて何も現れません。
私にとってさらに意味がないのは、MacでQtを使用して同じTagLibソースをコンパイルした場合(g ++だと思いますか?)、正常に動作することです。私のWindowsコンパイル手順のどこかで、私は間違っている必要があります。私はこれを理解しようとして、おそらく約30時間(オンとオフ)机の上で顔を叩き続けてきました。
QtはminGWを使用するので、同じコンパイラでTagLibをコンパイルする必要がありますか?
*.libをVisualStudioでコンパイルした場合、互換性はありませんか?
* .aライブラリはWindowsでも使用できますか?(minGWを想定)
私はまだこのC++のものを理解しようとしていますが、無数のフォーラムスレッドやその他の質問を読んだ後、まだ不足しています。これが私が現在CMakeで取り組んでいるものです...
cmake -G "MinGW Makefiles" -DENABLE_STATIC=ON -DHAVE_ZLIB=0 -DWITH_MP4=1 -DMAKE_TAGLIB_LIB=1
cmake --build ./
これにより、サイズが最大2MBの単一の*.aファイルが生成されます。Macで動作するライブラリは最大3MBで、リリースモードではVisualStudioの*.libは最大4MBでした。私は私のウィットエンドにいるので、誰かがこのC++クロスプラットフォームコマンドラインの狂気から私を救ってください。たぶん、%!$#&ingライブラリをコンパイルするだけでもお金を払うでしょう。ありがとう。