In Microsoft Visual Studio 2015 (v14.0)
I have a solution that contains 3 projects.
Two of those projects are DLLs, and the other one is the executable.
The executable loads the DLLs at runtime and calls their functions and they exchange parameters; using Window's LoadLibrary
, and GetProcAddress
APIs.
In Release
mode, when I set Runtime Library
of my projects to Multi-threaded DLL
everything works fine. This is Multi-threaded Debug DLL
for Debug
mode.
If I change to Multi-threaded
for Release
or Multi-threaded Debug
for Debug
I start getting Debug Assertion errors or Memory Access Violation errors and other kind of errors. (When I change it, I change it for all the projects in the solution.)
I need to use Multi-threaded
option so that the executable won't need C++ runtime library on the target machine. How can I solve this issue?