web-dev-qa-db-ja.com

MinGWはdll.aファイルを作成していますか?それらはどのような種類のライブラリファイルですか?

私はWindowsとLinuxライブラリのコンパイルにかなり精通していますが、今日はWindowsマシンでMinGWがOpenCVコンパイル後にdll.aファイルと.aファイルを破棄するのを見て真剣に始めました。考え始める。

これらは、OpenCVコンパイルからの私の\lib出力です:

2012-12-21  23:35         1 338 420 libopencv_core243.dll.a
2012-12-21  23:33           224 994 libopencv_core_pch_dephelp.a
2012-12-21  23:38           830 820 libopencv_features2d243.dll.a

そして私の\bin出力:

2012-12-21  23:40           356 178 libopencv_perf_core.dll.a
2012-12-21  23:45           362 702 libopencv_perf_features2d.dll.a
2012-12-21  23:35         4 086 052 libopencv_core243.dll
2012-12-21  23:38         2 102 896 libopencv_features2d243.dll

(私は明らかにもっと多くのバイナリを持っていますが、ここにリストする意味はありません)

これらがリンクできる通常の静的ライブラリであるかどうか誰かに教えてもらえますか?そして、どのようにそれらに対してリンクする必要がありますか?

21
Patryk

.aファイルは静的ライブラリです。 .dll.aファイルは、dll(ダイナミックライブラリ)に対してリンクするのに役立つファイルです。私の推測では、dllにはすべてが含まれており、dll.aファイルはdllを指しているだけです。

18
Matthew Talbert