Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support for building with MT_StaticRelease in MSVC ? #481

Closed
CeNiEi opened this issue Aug 3, 2023 · 13 comments
Closed

support for building with MT_StaticRelease in MSVC ? #481

CeNiEi opened this issue Aug 3, 2023 · 13 comments

Comments

@CeNiEi
Copy link

CeNiEi commented Aug 3, 2023

I am getting the following linking error, while trying to integrate within my app:

  = note: libopencv-abcac58b41d26d3f.rlib(15c2d2640a084339-core.o) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in libxmp_toolkit-f188c5044e22df56.rlib(ffi.o)
          libopencv-abcac58b41d26d3f.rlib(15c2d2640a084339-imgcodecs.o) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in libxmp_toolkit-f188c5044e22df56.rlib(ffi.o)
          libopencv-abcac58b41d26d3f.rlib(ef6872376dcfd20a-manual-core.o) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in libxmp_toolkit-f188c5044e22df56.rlib(ffi.o)
          libopencv-abcac58b41d26d3f.rlib(15c2d2640a084339-imgproc.o) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in libxmp_toolkit-f188c5044e22df56.rlib(ffi.o)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: struct _Cvtvec __cdecl std::_Locinfo::_Getcvt(void)const " (?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ) already defined in libxmp_toolkit-f188c5044e22df56.rlib(P2_Handler.o)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: unsigned short const * __cdecl std::_Locinfo::_W_Getdays(void)const " (?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ) already defined in libcpmt.lib(wlocale.obj)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: unsigned short const * __cdecl std::_Locinfo::_W_Getmonths(void)const " (?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ) already defined in libcpmt.lib(wlocale.obj)        
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(void)" (??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@XZ) already defined in libxmp_toolkit-f188c5044e22df56.rlib(P2_Handler.o)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: virtual __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::~basic_streambuf<char,struct std::char_traits<char> >(void)" (??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UEAA@XZ) already defined in libxmp_toolkit-f188c5044e22df56.rlib(P2_Handler.o)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: char * __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::eback(void)const " (?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ) already defined in libxmp_toolkit-f188c5044e22df56.rlib(P2_Handler.o)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: char * __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::gptr(void)const " (?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ) already defined in libxmp_toolkit-f188c5044e22df56.rlib(P2_Handler.o)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: char * __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pbase(void)const " (?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ) already defined in libxmp_toolkit-f188c5044e22df56.rlib(P2_Handler.o)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: char * __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pptr(void)const " (?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ) already defined in libxmp_toolkit-f188c5044e22df56.rlib(P2_Handler.o)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: char * __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::egptr(void)const " (?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ) already defined in libxmp_toolkit-f188c5044e22df56.rlib(P2_Handler.o)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::gbump(int)" (?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXH@Z) already defined in libxmp_toolkit-f188c5044e22df56.rlib(P2_Handler.o)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::setg(char *,char *,char *)" (?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z) already defined in libxmp_toolkit-f188c5044e22df56.rlib(P2_Handler.o)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: char * __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::epptr(void)const " (?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ) already defined in libxmp_toolkit-f188c5044e22df56.rlib(P2_Handler.o)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::setp(char *,char *)" (?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD0@Z) already defined in libxmp_toolkit-f188c5044e22df56.rlib(P2_Handler.o)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::setp(char *,char *,char *)" (?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z) already defined in libxmp_toolkit-f188c5044e22df56.rlib(P2_Handler.o)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: char * __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::_Pninc(void)" (?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ) already defined in libxmp_toolkit-f188c5044e22df56.rlib(P2_Handler.o)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: virtual __cdecl std::basic_ios<char,struct std::char_traits<char> >::~basic_ios<char,struct std::char_traits<char> >(void)" (??1?$basic_ios@DU?$char_traits@D@std@@@std@@UEAA@XZ) already defined in libxmp_toolkit-f188c5044e22df56.rlib(P2_Handler.o)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: __cdecl std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> >(void)" (??0?$basic_ios@DU?$char_traits@D@std@@@std@@IEAA@XZ) already defined in libxmp_toolkit-f188c5044e22df56.rlib(P2_Handler.o)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: __cdecl std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(class std::basic_streambuf<char,struct std::char_traits<char> > *,bool)" (??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z) already defined in libxmp_toolkit-f188c5044e22df56.rlib(P2_Handler.o)
          msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: virtual __cdecl std::basic_ostream<char,struct std::char_traits<char> >::~basic_ostream<char,struct std::char_traits<char> >(void)" (??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UEAA@XZ) already defined in libxmp_toolkit-f188c5044e22df56.rlib(P2_Handler.o)
             Creating library C:\Users\ryuji\unicorns\culler\target\release\deps\culler-899ad1061736ce2b.lib and object C:\Users\ryuji\unicorns\culler\target\release\deps\culler-899ad1061736ce2b.exp
          LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
          C:\Users\ryuji\unicorns\culler\target\release\deps\culler-899ad1061736ce2b.exe : fatal error LNK1169: one or more multiply defined symbols found

It seems that this crate sets the MD_DynamicRelease flag while building for msvc. Is it possible to instead set MT_StaticRelease, using a feature flag or something?

@twistedfall
Copy link
Owner

Hmm, the crate doesn't set either of those and dynamic vs static linking depends on how OpenCV was built. Can you post your output of cargo build -vv after doing a cargo clean to help with debugging that?

@CeNiEi
Copy link
Author

CeNiEi commented Aug 3, 2023

@twistedfall

  Running `C:\Users\ryuji\unicorns\temp\target\debug\build\opencv-7ca58318f3514007\build-script-build`
[opencv 0.82.1] === Crate version: Some("0.82.1")
[opencv 0.82.1] === Environment configuration:
[opencv 0.82.1] ===   OPENCV_PACKAGE_NAME = None
[opencv 0.82.1] ===   OPENCV_PKGCONFIG_NAME = None
[opencv 0.82.1] ===   OPENCV_CMAKE_NAME = None
[opencv 0.82.1] ===   OPENCV_CMAKE_BIN = None
[opencv 0.82.1] ===   OPENCV_VCPKG_NAME = None
[opencv 0.82.1] ===   OPENCV_LINK_LIBS = Some("opencv_world470")
[opencv 0.82.1] ===   OPENCV_LINK_PATHS = Some("C:\\tools\\opencv\\build\\x64\\vc16\\lib")
[opencv 0.82.1] ===   OPENCV_INCLUDE_PATHS = Some("C:\\tools\\opencv\\build\\include")
[opencv 0.82.1] ===   OPENCV_DISABLE_PROBES = None
[opencv 0.82.1] ===   CMAKE_PREFIX_PATH = None
[opencv 0.82.1] ===   OpenCV_DIR = None
[opencv 0.82.1] ===   PKG_CONFIG_PATH = None
[opencv 0.82.1] ===   VCPKG_ROOT = None
[opencv 0.82.1] ===   VCPKGRS_DYNAMIC = None
[opencv 0.82.1] ===   OCVRS_DOCS_GENERATE_DIR = None
[opencv 0.82.1] ===   DOCS_RS = None
[opencv 0.82.1] ===   PATH = Some("C:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\deps;C:\\Users\\ryuji\\unicorns\\temp\\target\\debug;C:\\Users\\ryuji\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib;C:\\Users\\ryuji\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\bin;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\MinGW\\bin;C:\\MinGW\\msys\\1.0\\bin;C:\\msys64\\mingw64\\bin;C:\\msys64\\mingw64\\lib;C:\\msys64\\usr\\lib;C:\\Program Files\\Git\\cmd;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program Files\\dotnet\\;C:\\Program Files\\CMake\\bin;C:\\ProgramData\\chocolatey\\bin;C:\\Program Files\\LLVM\\bin;C:\\Users\\ryuji\\.cargo\\bin;C:\\Users\\ryuji\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\ryuji\\.dotnet\\tools;C:\\Program Files\\Neovim\\bin;C:\\Users\\ryuji\\AppData\\Local\\Programs\\Microsoft VS Code\\bin")
[opencv 0.82.1] === Enabled features:
[opencv 0.82.1] ===   CLANG_RUNTIME
[opencv 0.82.1] ===   IMGCODECS
[opencv 0.82.1] ===   IMGPROC
[opencv 0.82.1] === Detected probe priority based on environment vars: pkg_config: false, cmake: false, vcpkg: true
[opencv 0.82.1] === Probing the OpenCV library in the following order: environment, vcpkg_cmake, vcpkg, pkg_config, cmake
[opencv 0.82.1] === Configuring OpenCV library from the environment:
[opencv 0.82.1] ===   include_paths: C:\tools\opencv\build\include
[opencv 0.82.1] ===   link_paths: C:\tools\opencv\build\x64\vc16\lib
[opencv 0.82.1] ===   link_libs: opencv_world470
[opencv 0.82.1] === Successfully probed using: environment
[opencv 0.82.1] === OpenCV library configuration: Library {
[opencv 0.82.1]     include_paths: [
[opencv 0.82.1]         "C:\\tools\\opencv\\build\\include",
[opencv 0.82.1]     ],
[opencv 0.82.1]     version: Version {
[opencv 0.82.1]         major: 4,
[opencv 0.82.1]         minor: 7,
[opencv 0.82.1]         patch: 0,
[opencv 0.82.1]     },
[opencv 0.82.1]     cargo_metadata: [
[opencv 0.82.1]         "cargo:rustc-link-search=C:\\tools\\opencv\\build\\x64\\vc16\\lib",
[opencv 0.82.1]         "cargo:rustc-link-lib=opencv_world470",
[opencv 0.82.1]     ],
[opencv 0.82.1] }
[opencv 0.82.1] cargo:rustc-cfg=ocvrs_opencv_branch_4
[opencv 0.82.1] === Detected OpenCV module header dir at: C:\tools\opencv\build\include\opencv2
[opencv 0.82.1] === Found OpenCV version: 4.7.0 in headers located at: C:\tools\opencv\build\include
[opencv 0.82.1] cargo:rerun-if-env-changed=OPENCV_PACKAGE_NAME
[opencv 0.82.1] cargo:rerun-if-env-changed=OPENCV_PKGCONFIG_NAME
[opencv 0.82.1] cargo:rerun-if-env-changed=OPENCV_CMAKE_NAME
[opencv 0.82.1] cargo:rerun-if-env-changed=OPENCV_CMAKE_BIN
[opencv 0.82.1] cargo:rerun-if-env-changed=OPENCV_VCPKG_NAME
[opencv 0.82.1] cargo:rerun-if-env-changed=OPENCV_LINK_LIBS
[opencv 0.82.1] cargo:rerun-if-env-changed=OPENCV_LINK_PATHS
[opencv 0.82.1] cargo:rerun-if-env-changed=OPENCV_INCLUDE_PATHS
[opencv 0.82.1] cargo:rerun-if-env-changed=OPENCV_DISABLE_PROBES
[opencv 0.82.1] cargo:rerun-if-env-changed=CMAKE_PREFIX_PATH
[opencv 0.82.1] cargo:rerun-if-env-changed=OpenCV_DIR
[opencv 0.82.1] cargo:rerun-if-env-changed=PKG_CONFIG_PATH
[opencv 0.82.1] cargo:rerun-if-env-changed=VCPKG_ROOT
[opencv 0.82.1] cargo:rerun-if-env-changed=VCPKGRS_DYNAMIC
[opencv 0.82.1] cargo:rerun-if-env-changed=OCVRS_DOCS_GENERATE_DIR
[opencv 0.82.1] cargo:rerun-if-env-changed=DOCS_RS
[opencv 0.82.1] cargo:rerun-if-changed=C:\Users\ryuji\.cargo\registry\src\index.crates.io-6f17d22bba15001f\opencv-0.82.1\src_cpp\alphamat.hpp
[opencv 0.82.1] cargo:rerun-if-changed=C:\Users\ryuji\.cargo\registry\src\index.crates.io-6f17d22bba15001f\opencv-0.82.1\src_cpp\aruco.hpp
[opencv 0.82.1] cargo:rerun-if-changed=C:\Users\ryuji\.cargo\registry\src\index.crates.io-6f17d22bba15001f\opencv-0.82.1\src_cpp\bioinspired.hpp
[opencv 0.82.1] cargo:rerun-if-changed=C:\Users\ryuji\.cargo\registry\src\index.crates.io-6f17d22bba15001f\opencv-0.82.1\src_cpp\ccalib.hpp
[opencv 0.82.1] cargo:rerun-if-changed=C:\Users\ryuji\.cargo\registry\src\index.crates.io-6f17d22bba15001f\opencv-0.82.1\src_cpp\core.hpp
[opencv 0.82.1] cargo:rerun-if-changed=C:\Users\ryuji\.cargo\registry\src\index.crates.io-6f17d22bba15001f\opencv-0.82.1\src_cpp\dnn.hpp
[opencv 0.82.1] cargo:rerun-if-changed=C:\Users\ryuji\.cargo\registry\src\index.crates.io-6f17d22bba15001f\opencv-0.82.1\src_cpp\face.hpp
[opencv 0.82.1] cargo:rerun-if-changed=C:\Users\ryuji\.cargo\registry\src\index.crates.io-6f17d22bba15001f\opencv-0.82.1\src_cpp\gapi.hpp
[opencv 0.82.1] cargo:rerun-if-changed=C:\Users\ryuji\.cargo\registry\src\index.crates.io-6f17d22bba15001f\opencv-0.82.1\src_cpp\hdf.hpp
[opencv 0.82.1] cargo:rerun-if-changed=C:\Users\ryuji\.cargo\registry\src\index.crates.io-6f17d22bba15001f\opencv-0.82.1\src_cpp\manual-core.cpp
[opencv 0.82.1] cargo:rerun-if-changed=C:\Users\ryuji\.cargo\registry\src\index.crates.io-6f17d22bba15001f\opencv-0.82.1\src_cpp\manual-dnn.cpp
[opencv 0.82.1] cargo:rerun-if-changed=C:\Users\ryuji\.cargo\registry\src\index.crates.io-6f17d22bba15001f\opencv-0.82.1\src_cpp\manual-features2d.cpp
[opencv 0.82.1] cargo:rerun-if-changed=C:\Users\ryuji\.cargo\registry\src\index.crates.io-6f17d22bba15001f\opencv-0.82.1\src_cpp\ocvrs_common.hpp
[opencv 0.82.1] cargo:rerun-if-changed=C:\Users\ryuji\.cargo\registry\src\index.crates.io-6f17d22bba15001f\opencv-0.82.1\src_cpp\photo.hpp
[opencv 0.82.1] cargo:rerun-if-changed=C:\Users\ryuji\.cargo\registry\src\index.crates.io-6f17d22bba15001f\opencv-0.82.1\src_cpp\sfm.hpp
[opencv 0.82.1] cargo:rerun-if-changed=C:\Users\ryuji\.cargo\registry\src\index.crates.io-6f17d22bba15001f\opencv-0.82.1\src_cpp\videoio.hpp
[opencv 0.82.1] cargo:rerun-if-changed=C:\Users\ryuji\.cargo\registry\src\index.crates.io-6f17d22bba15001f\opencv-0.82.1\src_cpp\xfeatures2d.hpp
[opencv 0.82.1] cargo:rerun-if-changed=Cargo.toml
[opencv 0.82.1] === Generating code in: C:\Users\ryuji\unicorns\temp\target\debug\build\opencv-f8d174d768ed46b4\out
[opencv 0.82.1] === Placing generated bindings into: C:\Users\ryuji\unicorns\temp\target\debug\build\opencv-f8d174d768ed46b4\out\opencv
[opencv 0.82.1] === Using OpenCV headers from: C:\tools\opencv\build\include
[opencv 0.82.1] === Clang: clang version 15.0.1
[opencv 0.82.1] === Clang command line args: [
[opencv 0.82.1]     "-isystemC:\\Program Files\\LLVM\\lib\\clang\\16\\include",
[opencv 0.82.1]     "-isystemC:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.36.32532\\include",
[opencv 0.82.1]     "-isystemC:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.36.32532\\atlmfc\\include",
[opencv 0.82.1]     "-isystemC:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.22000.0\\ucrt",
[opencv 0.82.1]     "-isystemC:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.22000.0\\shared",
[opencv 0.82.1]     "-isystemC:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.22000.0\\um",
[opencv 0.82.1]     "-isystemC:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.22000.0\\winrt",
[opencv 0.82.1]     "-isystemC:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.22000.0\\cppwinrt",
[opencv 0.82.1]     "-IC:\\tools\\opencv\\build\\include",
[opencv 0.82.1]     "-FC:\\tools\\opencv\\build\\include",
[opencv 0.82.1]     "-IC:\\Users\\ryuji\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\opencv-0.82.1\\src_cpp",
[opencv 0.82.1]     "-FC:\\Users\\ryuji\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\opencv-0.82.1\\src_cpp",
[opencv 0.82.1]     "-DOCVRS_PARSING_HEADERS",
[opencv 0.82.1]     "-includeocvrs_ephemeral.hpp",
[opencv 0.82.1]     "-std=c++14",
[opencv 0.82.1] ]
[opencv 0.82.1] === Using environment job server with the the amount of available jobs: 7
[opencv 0.82.1] === Running: "C:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\build\\opencv-7ca58318f3514007\\build-script-build" "C:\\tools\\opencv\\build\\include" "C:\\Users\\ryuji\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\opencv-0.82.1\\src_cpp" "C:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\build\\opencv-f8d174d768ed46b4\\out" "core" ""
[opencv 0.82.1] === Running: "C:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\build\\opencv-7ca58318f3514007\\build-script-build" "C:\\tools\\opencv\\build\\include" "C:\\Users\\ryuji\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\opencv-0.82.1\\src_cpp" "C:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\build\\opencv-f8d174d768ed46b4\\out" "imgproc" ""
[opencv 0.82.1] === Running: "C:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\build\\opencv-7ca58318f3514007\\build-script-build" "C:\\tools\\opencv\\build\\include" "C:\\Users\\ryuji\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\opencv-0.82.1\\src_cpp" "C:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\build\\opencv-f8d174d768ed46b4\\out" "imgcodecs" ""
[opencv 0.82.1] === Generated: imgcodecs in 1.621206s
[opencv 0.82.1] === Generated: imgproc in 3.0317271s
[opencv 0.82.1] === Generated: core in 7.3486227s
[opencv 0.82.1] === Total binding generation time: 7.3489637s
[opencv 0.82.1] === Total binding collection time: 35.1269ms
[opencv 0.82.1] OPT_LEVEL = Some("0")
[opencv 0.82.1] TARGET = Some("x86_64-pc-windows-msvc")
[opencv 0.82.1] HOST = Some("x86_64-pc-windows-msvc")
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX_x86_64-pc-windows-msvc
[opencv 0.82.1] CXX_x86_64-pc-windows-msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX_x86_64_pc_windows_msvc
[opencv 0.82.1] CXX_x86_64_pc_windows_msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=HOST_CXX
[opencv 0.82.1] HOST_CXX = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX
[opencv 0.82.1] CXX = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
[opencv 0.82.1] CRATE_CC_NO_DEFAULTS = None
[opencv 0.82.1] CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
[opencv 0.82.1] DEBUG = Some("true")
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS_x86_64-pc-windows-msvc
[opencv 0.82.1] CXXFLAGS_x86_64-pc-windows-msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS_x86_64_pc_windows_msvc
[opencv 0.82.1] CXXFLAGS_x86_64_pc_windows_msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=HOST_CXXFLAGS
[opencv 0.82.1] HOST_CXXFLAGS = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS
[opencv 0.82.1] CXXFLAGS = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX_x86_64-pc-windows-msvc
[opencv 0.82.1] CXX_x86_64-pc-windows-msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX_x86_64_pc_windows_msvc
[opencv 0.82.1] CXX_x86_64_pc_windows_msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=HOST_CXX
[opencv 0.82.1] HOST_CXX = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX
[opencv 0.82.1] CXX = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
[opencv 0.82.1] CRATE_CC_NO_DEFAULTS = None
[opencv 0.82.1] CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS_x86_64-pc-windows-msvc
[opencv 0.82.1] CXXFLAGS_x86_64-pc-windows-msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS_x86_64_pc_windows_msvc
[opencv 0.82.1] CXXFLAGS_x86_64_pc_windows_msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=HOST_CXXFLAGS
[opencv 0.82.1] HOST_CXXFLAGS = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS
[opencv 0.82.1] CXXFLAGS = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX_x86_64-pc-windows-msvc
[opencv 0.82.1] CXX_x86_64-pc-windows-msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX_x86_64_pc_windows_msvc
[opencv 0.82.1] CXX_x86_64_pc_windows_msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=HOST_CXX
[opencv 0.82.1] HOST_CXX = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX
[opencv 0.82.1] CXX = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
[opencv 0.82.1] CRATE_CC_NO_DEFAULTS = None
[opencv 0.82.1] CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS_x86_64-pc-windows-msvc
[opencv 0.82.1] CXXFLAGS_x86_64-pc-windows-msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS_x86_64_pc_windows_msvc
[opencv 0.82.1] CXXFLAGS_x86_64_pc_windows_msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=HOST_CXXFLAGS
[opencv 0.82.1] HOST_CXXFLAGS = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS
[opencv 0.82.1] CXXFLAGS = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX_x86_64-pc-windows-msvc
[opencv 0.82.1] CXX_x86_64-pc-windows-msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX_x86_64_pc_windows_msvc
[opencv 0.82.1] CXX_x86_64_pc_windows_msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=HOST_CXX
[opencv 0.82.1] HOST_CXX = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX
[opencv 0.82.1] CXX = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
[opencv 0.82.1] CRATE_CC_NO_DEFAULTS = None
[opencv 0.82.1] CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS_x86_64-pc-windows-msvc
[opencv 0.82.1] CXXFLAGS_x86_64-pc-windows-msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS_x86_64_pc_windows_msvc
[opencv 0.82.1] CXXFLAGS_x86_64_pc_windows_msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=HOST_CXXFLAGS
[opencv 0.82.1] HOST_CXXFLAGS = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS
[opencv 0.82.1] CXXFLAGS = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX_x86_64-pc-windows-msvc
[opencv 0.82.1] CXX_x86_64-pc-windows-msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX_x86_64_pc_windows_msvc
[opencv 0.82.1] CXX_x86_64_pc_windows_msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=HOST_CXX
[opencv 0.82.1] HOST_CXX = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX
[opencv 0.82.1] CXX = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
[opencv 0.82.1] CRATE_CC_NO_DEFAULTS = None
[opencv 0.82.1] CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS_x86_64-pc-windows-msvc
[opencv 0.82.1] CXXFLAGS_x86_64-pc-windows-msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS_x86_64_pc_windows_msvc
[opencv 0.82.1] CXXFLAGS_x86_64_pc_windows_msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=HOST_CXXFLAGS
[opencv 0.82.1] HOST_CXXFLAGS = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS
[opencv 0.82.1] CXXFLAGS = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX_x86_64-pc-windows-msvc
[opencv 0.82.1] CXX_x86_64-pc-windows-msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX_x86_64_pc_windows_msvc
[opencv 0.82.1] CXX_x86_64_pc_windows_msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=HOST_CXX
[opencv 0.82.1] HOST_CXX = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX
[opencv 0.82.1] CXX = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
[opencv 0.82.1] CRATE_CC_NO_DEFAULTS = None
[opencv 0.82.1] CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS_x86_64-pc-windows-msvc
[opencv 0.82.1] CXXFLAGS_x86_64-pc-windows-msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS_x86_64_pc_windows_msvc
[opencv 0.82.1] CXXFLAGS_x86_64_pc_windows_msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=HOST_CXXFLAGS
[opencv 0.82.1] HOST_CXXFLAGS = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS
[opencv 0.82.1] CXXFLAGS = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX_x86_64-pc-windows-msvc
[opencv 0.82.1] CXX_x86_64-pc-windows-msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX_x86_64_pc_windows_msvc
[opencv 0.82.1] CXX_x86_64_pc_windows_msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=HOST_CXX
[opencv 0.82.1] HOST_CXX = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX
[opencv 0.82.1] CXX = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
[opencv 0.82.1] CRATE_CC_NO_DEFAULTS = None
[opencv 0.82.1] CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS_x86_64-pc-windows-msvc
[opencv 0.82.1] CXXFLAGS_x86_64-pc-windows-msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS_x86_64_pc_windows_msvc
[opencv 0.82.1] CXXFLAGS_x86_64_pc_windows_msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=HOST_CXXFLAGS
[opencv 0.82.1] HOST_CXXFLAGS = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS
[opencv 0.82.1] CXXFLAGS = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX_x86_64-pc-windows-msvc
[opencv 0.82.1] CXX_x86_64-pc-windows-msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX_x86_64_pc_windows_msvc
[opencv 0.82.1] CXX_x86_64_pc_windows_msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=HOST_CXX
[opencv 0.82.1] HOST_CXX = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX
[opencv 0.82.1] CXX = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
[opencv 0.82.1] CRATE_CC_NO_DEFAULTS = None
[opencv 0.82.1] CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS_x86_64-pc-windows-msvc
[opencv 0.82.1] CXXFLAGS_x86_64-pc-windows-msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS_x86_64_pc_windows_msvc
[opencv 0.82.1] CXXFLAGS_x86_64_pc_windows_msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=HOST_CXXFLAGS
[opencv 0.82.1] HOST_CXXFLAGS = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS
[opencv 0.82.1] CXXFLAGS = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX_x86_64-pc-windows-msvc
[opencv 0.82.1] CXX_x86_64-pc-windows-msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX_x86_64_pc_windows_msvc
[opencv 0.82.1] CXX_x86_64_pc_windows_msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=HOST_CXX
[opencv 0.82.1] HOST_CXX = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX
[opencv 0.82.1] CXX = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
[opencv 0.82.1] CRATE_CC_NO_DEFAULTS = None
[opencv 0.82.1] CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS_x86_64-pc-windows-msvc
[opencv 0.82.1] CXXFLAGS_x86_64-pc-windows-msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS_x86_64_pc_windows_msvc
[opencv 0.82.1] CXXFLAGS_x86_64_pc_windows_msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=HOST_CXXFLAGS
[opencv 0.82.1] HOST_CXXFLAGS = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS
[opencv 0.82.1] CXXFLAGS = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX_x86_64-pc-windows-msvc
[opencv 0.82.1] CXX_x86_64-pc-windows-msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX_x86_64_pc_windows_msvc
[opencv 0.82.1] CXX_x86_64_pc_windows_msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=HOST_CXX
[opencv 0.82.1] HOST_CXX = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXX
[opencv 0.82.1] CXX = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
[opencv 0.82.1] CRATE_CC_NO_DEFAULTS = None
[opencv 0.82.1] CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS_x86_64-pc-windows-msvc
[opencv 0.82.1] CXXFLAGS_x86_64-pc-windows-msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS_x86_64_pc_windows_msvc
[opencv 0.82.1] CXXFLAGS_x86_64_pc_windows_msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=HOST_CXXFLAGS
[opencv 0.82.1] HOST_CXXFLAGS = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXFLAGS
[opencv 0.82.1] CXXFLAGS = None
[opencv 0.82.1] === Compiler information: Tool {
[opencv 0.82.1]     path: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX64\\x64\\cl.exe",
[opencv 0.82.1]     cc_wrapper_path: None,
[opencv 0.82.1]     cc_wrapper_args: [],
[opencv 0.82.1]     args: [
[opencv 0.82.1]         "-nologo",
[opencv 0.82.1]         "-MD",
[opencv 0.82.1]         "-Z7",
[opencv 0.82.1]         "-Brepro",
[opencv 0.82.1]         "-I",
[opencv 0.82.1]         "C:\\Users\\ryuji\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\opencv-0.82.1\\src_cpp",
[opencv 0.82.1]         "-I",
[opencv 0.82.1]         "C:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\build\\opencv-f8d174d768ed46b4\\out",
[opencv 0.82.1]         "-I",
[opencv 0.82.1]         ".",
[opencv 0.82.1]         "-I",
[opencv 0.82.1]         "C:\\tools\\opencv\\build\\include",
[opencv 0.82.1]         "-W4",
[opencv 0.82.1]         "-std:c++latest",
[opencv 0.82.1]         "-EHsc",
[opencv 0.82.1]         "-bigobj",
[opencv 0.82.1]         "-utf-8",
[opencv 0.82.1]         "-wd4996",
[opencv 0.82.1]         "-wd5054",
[opencv 0.82.1]         "-wd4190",
[opencv 0.82.1]         "-wd4702",
[opencv 0.82.1]         "-wd4100",
[opencv 0.82.1]         "-wd4127",
[opencv 0.82.1]     ],
[opencv 0.82.1]     env: [
[opencv 0.82.1]         (
[opencv 0.82.1]             "LIB",
[opencv 0.82.1]             "C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.36.32532\\lib\\x64;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.36.32532\\atlmfc\\lib\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.22000.0\\ucrt\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.22000.0\\um\\x64;",
[opencv 0.82.1]         ),
[opencv 0.82.1]         (
[opencv 0.82.1]             "PATH",
[opencv 0.82.1]             "C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX64\\x64;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX64\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.22000.0\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\bin\\x64;C:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\deps;C:\\Users\\ryuji\\unicorns\\temp\\target\\debug;C:\\Users\\ryuji\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib;C:\\Users\\ryuji\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\bin;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\MinGW\\bin;C:\\MinGW\\msys\\1.0\\bin;C:\\msys64\\mingw64\\bin;C:\\msys64\\mingw64\\lib;C:\\msys64\\usr\\lib;C:\\Program Files\\Git\\cmd;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program Files\\dotnet\\;C:\\Program Files\\CMake\\bin;C:\\ProgramData\\chocolatey\\bin;C:\\Program Files\\LLVM\\bin;C:\\Users\\ryuji\\.cargo\\bin;C:\\Users\\ryuji\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\ryuji\\.dotnet\\tools;C:\\Program Files\\Neovim\\bin;C:\\Users\\ryuji\\AppData\\Local\\Programs\\Microsoft VS Code\\bin",
[opencv 0.82.1]         ),
[opencv 0.82.1]         (
[opencv 0.82.1]             "INCLUDE",
[opencv 0.82.1]             "C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.36.32532\\include;C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.36.32532\\atlmfc\\include;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.22000.0\\ucrt;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.22000.0\\um;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.22000.0\\cppwinrt;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.22000.0\\winrt;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.22000.0\\shared;",
[opencv 0.82.1]         ),
[opencv 0.82.1]     ],
[opencv 0.82.1]     family: Msvc {
[opencv 0.82.1]         clang_cl: false,
[opencv 0.82.1]     },
[opencv 0.82.1]     cuda: false,
[opencv 0.82.1]     removed_args: [],
[opencv 0.82.1] }
[opencv 0.82.1] cargo:rustc-cfg=ocvrs_has_module_core
[opencv 0.82.1] cargo:rustc-cfg=ocvrs_has_module_imgcodecs
[opencv 0.82.1] cargo:rustc-cfg=ocvrs_has_module_imgproc
[opencv 0.82.1] running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-Z7" "-Brepro" "-I" "C:\\Users\\ryuji\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\opencv-0.82.1\\src_cpp" "-I" "C:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\build\\opencv-f8d174d768ed46b4\\out" "-I" "." "-I" "C:\\tools\\opencv\\build\\include" "-W4" "-std:c++latest" "-EHsc" "-bigobj" "-utf-8" "-wd4996" "-wd5054" "-wd4190" "-wd4702" "-wd4100" "-wd4127" "-FoC:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\build\\opencv-f8d174d768ed46b4\\out\\fa2b86ce2a3ba3a6-core.o" "-c" "C:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\build\\opencv-f8d174d768ed46b4\\out\\core.cpp"
[opencv 0.82.1] running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-Z7" "-Brepro" "-I" "C:\\Users\\ryuji\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\opencv-0.82.1\\src_cpp" "-I" "C:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\build\\opencv-f8d174d768ed46b4\\out" "-I" "." "-I" "C:\\tools\\opencv\\build\\include" "-W4" "-std:c++latest" "-EHsc" "-bigobj" "-utf-8" "-wd4996" "-wd5054" "-wd4190" "-wd4702" "-wd4100" "-wd4127" "-FoC:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\build\\opencv-f8d174d768ed46b4\\out\\ef6872376dcfd20a-manual-core.o" "-c" "C:\\Users\\ryuji\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\opencv-0.82.1\\src_cpp\\manual-core.cpp"
[opencv 0.82.1] running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-Z7" "-Brepro" "-I" "C:\\Users\\ryuji\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\opencv-0.82.1\\src_cpp" "-I" "C:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\build\\opencv-f8d174d768ed46b4\\out" "-I" "." "-I" "C:\\tools\\opencv\\build\\include" "-W4" "-std:c++latest" "-EHsc" "-bigobj" "-utf-8" "-wd4996" "-wd5054" "-wd4190" "-wd4702" "-wd4100" "-wd4127" "-FoC:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\build\\opencv-f8d174d768ed46b4\\out\\fa2b86ce2a3ba3a6-imgcodecs.o" "-c" "C:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\build\\opencv-f8d174d768ed46b4\\out\\imgcodecs.cpp"
[opencv 0.82.1] running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-Z7" "-Brepro" "-I" "C:\\Users\\ryuji\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\opencv-0.82.1\\src_cpp" "-I" "C:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\build\\opencv-f8d174d768ed46b4\\out" "-I" "." "-I" "C:\\tools\\opencv\\build\\include" "-W4" "-std:c++latest" "-EHsc" "-bigobj" "-utf-8" "-wd4996" "-wd5054" "-wd4190" "-wd4702" "-wd4100" "-wd4127" "-FoC:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\build\\opencv-f8d174d768ed46b4\\out\\fa2b86ce2a3ba3a6-imgproc.o" "-c" "C:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\build\\opencv-f8d174d768ed46b4\\out\\imgproc.cpp"
[opencv 0.82.1] core.cpp
[opencv 0.82.1] manual-core.cpp
[opencv 0.82.1] imgcodecs.cpp
[opencv 0.82.1] imgproc.cpp
[opencv 0.82.1] exit code: 0
[opencv 0.82.1] exit code: 0
[opencv 0.82.1] exit code: 0
[opencv 0.82.1] exit code: 0
[opencv 0.82.1] cargo:rerun-if-env-changed=AR_x86_64-pc-windows-msvc
[opencv 0.82.1] AR_x86_64-pc-windows-msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=AR_x86_64_pc_windows_msvc
[opencv 0.82.1] AR_x86_64_pc_windows_msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=HOST_AR
[opencv 0.82.1] HOST_AR = None
[opencv 0.82.1] cargo:rerun-if-env-changed=AR
[opencv 0.82.1] AR = None
[opencv 0.82.1] cargo:rerun-if-env-changed=ARFLAGS_x86_64-pc-windows-msvc
[opencv 0.82.1] ARFLAGS_x86_64-pc-windows-msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=ARFLAGS_x86_64_pc_windows_msvc
[opencv 0.82.1] ARFLAGS_x86_64_pc_windows_msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=HOST_ARFLAGS
[opencv 0.82.1] HOST_ARFLAGS = None
[opencv 0.82.1] cargo:rerun-if-env-changed=ARFLAGS
[opencv 0.82.1] ARFLAGS = None
[opencv 0.82.1] running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX64\\x64\\lib.exe" "-out:C:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\build\\opencv-f8d174d768ed46b4\\out\\libocvrs.a" "-nologo" "C:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\build\\opencv-f8d174d768ed46b4\\out\\fa2b86ce2a3ba3a6-core.o" "C:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\build\\opencv-f8d174d768ed46b4\\out\\ef6872376dcfd20a-manual-core.o" "C:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\build\\opencv-f8d174d768ed46b4\\out\\fa2b86ce2a3ba3a6-imgcodecs.o" "C:\\Users\\ryuji\\unicorns\\temp\\target\\debug\\build\\opencv-f8d174d768ed46b4\\out\\fa2b86ce2a3ba3a6-imgproc.o"
[opencv 0.82.1] exit code: 0
[opencv 0.82.1] cargo:rustc-link-search=native=C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.36.32532\atlmfc\lib\x64
[opencv 0.82.1] cargo:rustc-link-lib=static=ocvrs
[opencv 0.82.1] cargo:rustc-link-search=native=C:\Users\ryuji\unicorns\temp\target\debug\build\opencv-f8d174d768ed46b4\out
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXSTDLIB_x86_64-pc-windows-msvc
[opencv 0.82.1] CXXSTDLIB_x86_64-pc-windows-msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXSTDLIB_x86_64_pc_windows_msvc
[opencv 0.82.1] CXXSTDLIB_x86_64_pc_windows_msvc = None
[opencv 0.82.1] cargo:rerun-if-env-changed=HOST_CXXSTDLIB
[opencv 0.82.1] HOST_CXXSTDLIB = None
[opencv 0.82.1] cargo:rerun-if-env-changed=CXXSTDLIB
[opencv 0.82.1] CXXSTDLIB = None
[opencv 0.82.1] === Total cpp build time: 4.1368626s
[opencv 0.82.1] cargo:rustc-link-search=C:\tools\opencv\build\x64\vc16\lib
[opencv 0.82.1] cargo:rustc-link-lib=opencv_world470

@twistedfall
Copy link
Owner

twistedfall commented Aug 3, 2023

I don't see any error in this build log, does that mean it built successfully?

@CeNiEi
Copy link
Author

CeNiEi commented Aug 3, 2023

exactly, the program builds fine, the issue happens when i actually run it, the error happens during runtime.

@CeNiEi
Copy link
Author

CeNiEi commented Aug 3, 2023

@twistedfall this is an excerpt from: https://github.com/opencv/opencv/blob/4.8.0/CMakeLists.txt

OCV_OPTION(BUILD_WITH_STATIC_CRT    "Enables use of statically linked CRT for statically linked OpenCV" ON IF MSVC )

It seems that, this option is set by default. Does this crate somehow changes this default behaviour?

@twistedfall
Copy link
Owner

twistedfall commented Aug 3, 2023

When I'm looking at the library configuration:

[opencv 0.82.1] === OpenCV library configuration: Library {
[opencv 0.82.1]     include_paths: [
[opencv 0.82.1]         "C:\\tools\\opencv\\build\\include",
[opencv 0.82.1]     ],
[opencv 0.82.1]     version: Version {
[opencv 0.82.1]         major: 4,
[opencv 0.82.1]         minor: 7,
[opencv 0.82.1]         patch: 0,
[opencv 0.82.1]     },
[opencv 0.82.1]     cargo_metadata: [
[opencv 0.82.1]         "cargo:rustc-link-search=C:\\tools\\opencv\\build\\x64\\vc16\\lib",
[opencv 0.82.1]         "cargo:rustc-link-lib=opencv_world470",
[opencv 0.82.1]     ],
[opencv 0.82.1] }

That looks like OpenCV was installed from chocolatey or the official installer. But from your report it looks like you've made a static built OpenCV yourself. Is it installed into the same path?

@CeNiEi
Copy link
Author

CeNiEi commented Aug 3, 2023

@twistedfall

Yes, I used chocolatey, to install OpenCV, set those 3 env variables, and that's it. After these steps, the code compiles, but I instead get this error. To give more context I am using another lib, (libraw, libxmptoolkit) which is compiled with the flag MT_StaticRelease on MSVC. From the initial logs I gave:

  = note: libopencv-abcac58b41d26d3f.rlib(15c2d2640a084339-core.o) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in libxmp_toolkit-f188c5044e22df56.rlib(ffi.o)

It seems that opencv is not being built using this cmake option. In the cc crate this flag can be used very simply using this: https://docs.rs/cc/latest/cc/struct.Build.html#method.static_crt
But this crate does not uses cc.

@twistedfall
Copy link
Owner

The crate actually uses cc, I have created alpha branch. Can you please try to see if it works fine for you?

@CeNiEi
Copy link
Author

CeNiEi commented Aug 4, 2023

@twistedfall
Thanks for the help, I did a fresh install right now, and things seem to work fine on the new branch for now. I will be running some tests in the coming days, to see if our code is working as intended. But otherwise, the compiling and linking seems to be fine for now.
Once again, thanks for your work!

@twistedfall
Copy link
Owner

twistedfall commented Aug 6, 2023

Can you please follow the troubleshooting item 4 here: https://github.com/twistedfall/opencv-rust/blob/master/README.md#troubleshooting ?

@twistedfall
Copy link
Owner

It's great to hear that @CeNiEi! Can you please also test the build on the current beta branch with the newly introduced environment variable OPENCV_MSVC_CRT set to "static"?

@twistedfall
Copy link
Owner

This is now actually released as part of 0.84.5, so no need to test beta branch

@CeNiEi
Copy link
Author

CeNiEi commented Aug 10, 2023

@twistedfall Thanks, for all the help, I have used this features on the alpha branch, and things seem to work for windows as well as mac.
The troubleshooting link which you provided earlier, helped a lot too.
Just one point, on MacOS, I had to set DYLD_FALLBACK_LIBRARY_PATH= to point to the folder where all the libraries: libopencv_core.4.8.0.dylib, etc are located.
Thanks, have a good day

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants