我对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
(我显然有更多的二进制文件,但是在这里列出它没有意义)
有人可以告诉我这些是否是我可以链接的常规静态库吗?我应该如何反对他们?
最佳答案
.a文件是静态库。 .dll.a文件是仅帮助您链接到dll(这是一个动态库)的文件。我的猜测是您的dll包含了所有内容,并且dll.a文件仅指向该dll。