MinGW创建dll.a文件?这些库文件是什么类型的?

Pat*_*ryk 19 windows linker mingw static-libraries static-linking

我相当熟悉Windows和Linux库的编译但今天当我看到MinGW我的Windows机器上抛出了dll.a.a 文件的OpenCV编译后我开始认真地开始思考.

这些是我\lib从OpenCV编译的输出:

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
Run Code Online (Sandbox Code Playgroud)

我的\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
Run Code Online (Sandbox Code Playgroud)

(我显然有更多的二进制文件,但在这里列出它是没有意义的)

有人能告诉我这些是否是我可以链接的普通静态库?我应该如何与他们联系?

Mat*_*ert 18

.a文件是静态库..dll.a文件是帮助您链接到dll(这是一个动态库)的文件.我的猜测是你的dll包含所有内容,而dll.a文件只是指向dll.