使用 TDM-GCC-64、Cmake 和 CodeBlock 在 Windows 8 中构建 OpenCV 静态库时出

Error building OpenCV static libraries in Windows 8 with TDM-GCC-64, Cmake, and CodeBlocks

本文关键字:OpenCV 构建 静态 Windows TDM-GCC-64 Cmake CodeBlock 使用      更新时间:2023-10-16

我正在尝试构建静态库,希望创建一个可移植的可执行文件。我使用以下教程成功地构建了动态库:

https://zahidhasan.wordpress.com/2013/02/16/how-to-install-opencv-on-windows-7-64bit-using-mingw-64-and-codeblocks/

我基本上是在重复这个过程,但BUILD_SHARED_LIBS = OFF。

我构建了代码块,但它失败了。我收到的构建消息是以下的一系列变体(在 d00xxxxxx 中有所不同(:

C:\TDM-GCC-64\bin..\lib\gcc\x86_64-w64-mingw32\4.9.2\libstdc++.dll.a(d002386.o(||首先定义在这里|

生成日志显示:

C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2\libstdc++.a(sstream-inst.o(:sstream-inst.cc:(.text$_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev[_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev]+0x0(: std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_stringstream()' C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/libstdc++.dll.a(d002386.o):(.text+0x0): first defined here C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2libstdc++.a(sstream-inst.o):sstream-inst.cc:(.text$_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv[_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv]+0x0): multiple definition of的多重定义 std::basic_stringbuf, std::分配器>::str(( const'C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/libstdc++.dll.a(d000413.o(:(.text+0x0(:首先在这里定义

这两个重复,最多允许 50 个错误。

任何帮助将不胜感激。

对我来说,

它看起来像一个编译器/链接器错误......

您可以尝试此处提供的工具链。(注意:此链接可能很快就会过时,因此通常使用下面的链接并浏览到最新版本(

一般来说,在 http://sourceforge.net/projects/mingw-w64/files/,您还可以找到针对 32 位架构的工具链。