【发布时间】:2012-12-09 12:45:40
【问题描述】:
我对 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
(我显然有更多的二进制文件,但在这里列出它没有意义)
谁能告诉我这些是我可以链接的普通静态库吗?我应该如何链接它们?
【问题讨论】:
-
我在 Linux 机器上为 win32 交叉构建 libusb 时看到了完全相同的情况。我不认为 .ddl.a 指向 .dll,因为当尝试将另一个构建链接到它时,链接器指向 /lib 目录中的文件会导致一堆未定义的引用错误..
标签: windows linker mingw static-libraries static-linking