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 ?
.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.