2012-03-19 6 views
2

私のアプリケーションでid3libを使用する予定です。私はDLLとしてライブラリを使用する方法を探しています。私は彼らが様々な形で図書館をリリースしたことに気付きました。その一つはwindows binaryです。私のターゲットプラットフォームはWindowsで、Qt 4.8を使用します。私はバイナリのウィンドウにファイルを抽出した後、私がリリースフォルダ内の以下のファイルが見つかりました:C++アプリケーションでのDLLの操作

  • id3lib.dll
  • id3lib.exp
  • id3lib.lib

私が使用する方法を知っていますDLLが与えられたQtのDLL、関数のプロトタイプが存在する1つ以上のヘッダファイル、* .libファイルの有無にかかわらず。このパッケージにはヘッダファイルはありません。

このパッケージをヘッダファイルなしでどのように使用するのですか? * .libファイルと* .expファイルの目的は何ですか?私の知る限り、* .libファイルは、自分のプログラムでは必要としない関数との静的リンクに使用されます。

+0

あなたの質問はWindows固有であり、そのようにタグ付けする必要があります。 –

+0

@BasileStarynkevitch:うん、すみません、忘れました。 – Donotalo

答えて

1

通常、C++ファイルに#includeされたヘッダーファイル、リンク先の.libファイルを使用し、実行時には.dllが必要です。

ヘッダーファイルは別のパッケージにある必要があります。同じヘッダーがさまざまな種類のリンク方法に使用されている可能性があります。

最悪の場合、depends.exeなどのツールを使用して、エクスポートされたシンボルを表示し、一致する独自のhファイルを作成できるはずですが、リリースで発行された.hファイルを見つける方が良いでしょう。

2

あなたはヘッダーを見逃しました。これはincludeサブフォルダ(hereを参照)で利用できます。DLLを使用している場合でも、.libファイルはリンクに必要です。

+0

私はid3libの完全なソースコードを持っています。 Windowsのバイナリセクションにはヘッダファイルはありません。どのヘッダーファイルを使用すればよいのですか? – Donotalo

+0

@Donotalo:Robertの答えのリンクに従ってください。 id3.hにまっすぐ進む。 –

+0

@HarryJohnston:id3.hはインクルードするファイルではありません。 tag.hはここに記述されています:http://id3lib.sourceforge.net/api/index.html。しかし、私はそれらの両方を試みたが、依然として参照されていないリンクを解決できませんでした。 – Donotalo

関連する問題