我发现的唯一解决方案是取消选中 BUILD_SHARED_LIBS 和 BUILD_opencv_world 并创建静态.lib然后我将这些库链接到我的应用程序中的文件。
请记住使用此方法,因为您不创建世界包,您将必须链接许多如下所示的库。所有这些文件都将位于\opencv-4.6.0\Build\install\x64\vc17\staticlib 文件夹中。
#if defined(_DEBUG)
#pragma comment(lib, "opencv_core460d")
#pragma comment(lib, "opencv_imgproc460d")
#pragma comment(lib, "opencv_highgui460d")
#pragma comment(lib, "opencv_ml460d")
#pragma comment(lib, "opencv_video460d")
#pragma comment(lib, "opencv_features2d460d")
#pragma comment(lib, "opencv_calib3d460d")
#pragma comment(lib, "opencv_objdetect460d")
#pragma comment(lib, "opencv_imgcodecs460d")
#pragma comment(lib, "opencv_flann460d")
#pragma comment(lib, "aded")
#pragma comment(lib, "IlmImfd")
#pragma comment(lib, "ippiwd")
#pragma comment(lib, "ittnotifyd")
#pragma comment(lib, "libjpeg-turbod")
#pragma comment(lib, "libopenjp2d")
#pragma comment(lib, "libpngd")
#pragma comment(lib, "libprotobufd")
#pragma comment(lib, "libtiffd")
#pragma comment(lib, "libwebpd")
#pragma comment(lib, "quircd")
#pragma comment(lib, "zlibd")
#else
#pragma comment(lib, "opencv_core460")
#pragma comment(lib, "opencv_imgproc460")
#pragma comment(lib, "opencv_highgui460")
#pragma comment(lib, "opencv_ml460")
#pragma comment(lib, "opencv_video460")
#pragma comment(lib, "opencv_features2d460")
#pragma comment(lib, "opencv_calib3d460")
#pragma comment(lib, "opencv_objdetect460")
#pragma comment(lib, "opencv_imgcodecs460")
#pragma comment(lib, "opencv_flann460")
#pragma comment(lib, "ade")
#pragma comment(lib, "IlmImf")
#pragma comment(lib, "ippiw")
#pragma comment(lib, "ittnotify")
#pragma comment(lib, "libjpeg-turbo")
#pragma comment(lib, "libopenjp2")
#pragma comment(lib, "libpng")
#pragma comment(lib, "libprotobuf")
#pragma comment(lib, "libtiff")
#pragma comment(lib, "libwebp")
#pragma comment(lib, "quirc")
#pragma comment(lib, "zlib")
#endif
#pragma comment(lib, "ippicvmt")