C++ Qt和OpenCV静态库相互冲突
我正在使用VisualStudio2010、OpenCV 2.4.5和Qt5.0.2。 我试图通过加载OpenCV和QT的静态库来部署我的应用程序。 问题是它们都在内部包含zlib(压缩库)。 因此,当我编译项目时,会发生链接错误,因为符号冲突如下C++ Qt和OpenCV静态库相互冲突,c++,visual-studio-2010,qt,opencv,static-libraries,C++,Visual Studio 2010,Qt,Opencv,Static Libraries,我正在使用VisualStudio2010、OpenCV 2.4.5和Qt5.0.2。 我试图通过加载OpenCV和QT的静态库来部署我的应用程序。 问题是它们都在内部包含zlib(压缩库)。 因此,当我编译项目时,会发生链接错误,因为符号冲突如下 zlibd.lib(zutil.obj) : error LNK2005: _z_errmsg is already defined in Qt5Cored.lib(zutil.obj). 然而,OpenCV和QT都不提供没有zlib的静态库。 我
zlibd.lib(zutil.obj) : error LNK2005: _z_errmsg is already defined in Qt5Cored.lib(zutil.obj).
然而,OpenCV和QT都不提供没有zlib的静态库。
我能做什么呢?看一下。它说,“您可以在任何平台(Windows、Linux、Mac)上使用Qt作为HighGUI后端,方法是在配置OpenCV时将带有_Qt=on的传递给CMake。”该指南还提供了一个指向分步指南的链接
因此,执行这些操作,并将带有_QT=ON的添加到您的OpenCV配置中。查看。它说,“您可以在任何平台(Windows、Linux、Mac)上使用Qt作为HighGUI后端,方法是在配置OpenCV时将带有_Qt=on的传递给CMake。”该指南还提供了一个指向分步指南的链接
因此,执行这些操作,并将WITH_QT=ON
添加到您的OpenCV配置中。我的建议是使用您正在使用的相同编译器自己构建OpenCV。我的建议是使用您正在使用的相同编译器自己构建OpenCV。