Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MinGW creating dll.a files ? What type of library files are those?

I am fairly familiar with Windows and Linux libraries compilation but as for today when I have seen MinGW on my Windows machine threw out dll.a and .a files after OpenCV compilation I have started to seriously start thinking.

These are my \lib output from OpenCV compilation :

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

And my \bin output :

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

(I obviously have more binaries but there is no sense in listing it here)

Can someone tell me if these are normal static libraries that I can link against ? and how should I link against them ?

like image 723
Patryk Avatar asked Sep 02 '25 13:09

Patryk


1 Answers

.a files are static libraries. .dll.a files are files that just help you link against a dll (which is a dynamic library). My guess is that your dll contains everything, and the dll.a files just point to the dll.

like image 79
Matthew Talbert Avatar answered Sep 05 '25 16:09

Matthew Talbert