c++ - Removing dependency of MSVCR120D.dll -
i have dll (c/c++) built using vs2013 used exe, let me call exe_1 call exe, exe_2.
the same code (&the def file) used built dll on vs 6 many years & works exe_1 uses- > old_dll - >invokes exe_2
now problem new dll having issues not invoking exe_2 mentioned above. have source codes both dll & exe_2 not exe_1. hence used debugbreak statements check whether exe_2 getting invoked exe_1, result negative.
here differences can find across new dll (vs 2013) & old dll (vs 6)
- the "dumpbin /exports" new & old dll have variations in summary section below (exports section have same function names both):
new dll summary
6000 .data 1000 .idata c000 .rdata 4000 .reloc 1000 .rsrc 5f000 .text 2f000 .textbss
old dll summary
c000 .data 6000 .rdata 3000 .reloc 1000 .rsrc 2f000 .text
- if see profile output old dll (using dependency walker profiling), below warnings extra
warning: @ least 1 delay-load dependency module not found. warning: @ least 1 module has unresolved import due missing export function in delay-load dependent module.
- using dependency walker found out new dll have 1 additional dependency msvcr120d.dll.
since felt point #3 culprit, tried many options remove dependency specifying /mtd (also tried /mt) option under c/c++ - > code generation - > runtime library .
but unresolved linker errors _crtdumpmemoryleaks, _crtmemcheckpoint, __free_dbg e.t.c & hence unable generate new dll option.
please provide inputs on this.
Comments
Post a Comment