Do not use _BIND_TO_CURRENT_CRT_VERSION in the CMake configuration (Bug #88)


Added by Pierre Chatelier about 15 years ago. Updated about 15 years ago.


Status:Done Start date:
Priority:High Due date:
Assignee:- % Done:

0%

Category:build/install
Target version:-
Affected version: Operating System:
Difficulty: HW Platform:
Pull request:

Description

Hello,

There is a problem in the build system of OpenCV under Windows, that makes a program using OpenCV very hard to redistribute.

In the CMake configuration, there is the definition of _BIND_TO_CURRENT_CRT_VERSION. Thus, the different libs built by OpenCV are linked with the latest mscvcrt known by Visual Studio. The problem is that the latest mscvrt known by Visual Studio may not be the same as the latest msvcrt from the "Microsoft C++ Redistributable package" that an end-user should install.
Actually, because of updates of Visual, the latest msvcrt from developer is 9.0.30729.4148
In the latest vc_redist_x86.exe, the msvcrt is 9.0.30729.1
So, a user who does not have Visual Studio cannot run a program linked dynamically with OpenCV.

If you set _BIND_TO_CURRENT_CRT_VERSION to 0 in the makefile, VisualStudio will makes references to a compatible msvcrt.

Regards,

Pierre Chatelier


Associated revisions

Revision 2d6ff8e9
Added by Andrey Kamaev over 12 years ago

Merge pull request #88 from taka-no-me/build_ubuntu_x86_o2

Revision 71173c7e
Added by Roman Donchenko over 11 years ago

Merge pull request #88 from ilya-lavrenov:ocl_thresh

History

Updated by anonymous - about 15 years ago

thanks! fixed in r2610

  • Status changed from Open to Done
  • (deleted custom field) set to fixed

Also available in: Atom PDF