私は現在、Qt / C ++を使用して、C#から移行し、プラットフォームの境界から抜け出そうとしています。
以前のプロジェクトでTagLibSharpを使用していましたが、現在、次の場所にある元のC++ソースを使用しようとしています。
http://developer.kde.org/~wheeler/taglib.html
私はこれを自分のアプリケーションにコンパイルしようとして傷ついた世界にいます。このLinuxベースのC++のほとんどは私にはぎこちなく、Qtを使用してこのライブラリをプロジェクトに適切に含める方法がわかりません。私は自分の仕事の大部分(可能な限りすべて)にQtCreatorを使用しています。
誰かが私にいくつかの役立つチュートリアルやガイドを教えてもらえますか?私がこの情報源で何をしているのかを理解するのに役立つものがあれば、大いに感謝します。私はC#とWindowsプログラミングについて非常に完全に理解していますが、これらのタイプのオープンソースプロジェクトで何をしているのかを正確に把握していません。
ありがとう!
編集-答えはここ にあります私はそれのためにもう少し洗練された別の質問を投稿することにしました。
Windows用の静的TagLib1.6.3ライブラリのコンパイル
いくつかの古い編集...
TagLibをQtでコンパイルしましたが、「未定義の参照」エラーが発生しています。
*。プロ
INCLUDEPATH += ../$${TARGET}/taglib-win32
LIBS += -L"..\\$${TARGET}\\taglib-win32"
LIBS += -llibtag #It seems to want this to be a *.dll, not a *.a?
DEFINES += TAGLIB_NO_CONFIG
* .cpp
#include <tag.h>
#include <fileref.h>
...
//None of these work, even though they are similar to examples given in TagLib source.
TagLib::FileRef f("03.flac");
TagLib::String test = f.tag()->album();
TagLib::FileName *n = new TagLib::FileName("test");
TagLib::FileRef *f = new TagLib::FileRef();
正確なエラーの例を次に示します。
./debug\mythread.o:C:\Users\jocull\Documents\My Dropbox\Code\QT\QtTrayTime-build-desktop/../QtTrayTime/mythread.cpp:20: undefined reference to `_imp___ZN6TagLib7FileRefC1ENS_8FileNameEbNS_15AudioProperties9ReadStyleE'
./debug\mythread.o:C:\Users\jocull\Documents\My Dropbox\Code\QT\QtTrayTime-build-desktop/../QtTrayTime/mythread.cpp:21: undefined reference to `_imp___ZNK6TagLib7FileRef3tagEv'
./debug\mythread.o:C:\Users\jocull\Documents\My Dropbox\Code\QT\QtTrayTime-build-desktop/../QtTrayTime/mythread.cpp:42: undefined reference to `_imp___ZN6TagLib6StringD1Ev'
./debug\mythread.o:C:\Users\jocull\Documents\My Dropbox\Code\QT\QtTrayTime-build-desktop/../QtTrayTime/mythread.cpp:42: undefined reference to `_imp___ZN6TagLib7FileRefD1Ev'
collect2: ld returned 1 exit status
g ++を使用したコマンドラインステップ(Mac / Linux)
- ./configure --enable-shared = false --enable-static = true
- 作る
- ??? *.aまたは*.libファイルは作成されません