Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 发布版本取决于MFC中的调试dll_C++_Visual Studio_Mfc - Fatal编程技术网

C++ 发布版本取决于MFC中的调试dll

C++ 发布版本取决于MFC中的调试dll,c++,visual-studio,mfc,C++,Visual Studio,Mfc,我们的发布版本需要调试版本的MFC库。是否有人知道从何处开始查找项目,以便我们能够正确地将这些依赖项更改为发布依赖项? 使用的命令行: 对于(*.lib)中的%f,执行dumpbin/IMPORTS:msvcrt120d.dll/OUT:output.txt 编辑: 以及我得到的输出(与我指定的导入文件无关): 摘要 1B0 .CRT$XCU 15BA .bss 238 .data 5D67 .data$r 1FC0 .debug$S 1ABB2

我们的发布版本需要调试版本的MFC库。是否有人知道从何处开始查找项目,以便我们能够正确地将这些依赖项更改为发布依赖项?
使用的命令行:

对于(*.lib)中的%f,执行dumpbin/IMPORTS:msvcrt120d.dll/OUT:output.txt

编辑:

以及我得到的输出(与我指定的导入文件无关):

摘要

     1B0 .CRT$XCU
    15BA .bss
     238 .data
    5D67 .data$r
    1FC0 .debug$S
   1ABB2 .drectve
   1AE68 .pdata
   1CA3C .rdata
    BDF0 .rdata$r
     730 .rsrc$01
    25F8 .rsrc$02
     636 .text$di
  146BCA .text$mn
    F259 .text$x
     597 .text$yd
   3BC58 .xdata
     980 .xdata$x
      10 ATL$__a
      10 ATL$__z

只是为了确保我们的最终构建没有调试依赖项 这是我的bat文件-

@echo off
echo Testing...

for %%v in (*.exe *.dll) do (
dumpbin /imports %%v | find /i "0d.dll" > nul
if not errorlevel 1 echo %%v is Debug
)

检查您的MFC设置。如果这些都没有问题,那么它很可能是您链接的某个库的依赖项。检查您是否链接到(第三方)库的调试版本,该库链接到MFC的调试版本。@i您好,很高兴听到您的朋友。这可能是我们链接的某个库的依赖关系。但是这些库的数量很大(超过160个),我相信我必须手动检查它们并进行检查,除非您能提出更好的解决方案?您可以自动执行此过程:在所有DLL上运行一个循环,并使用该选项执行,将其中一个调试MFC DLL作为可选文件参数传递。@IInspectable,您好,非常感谢你的帮助。请您提供一个如何使用这个的例子好吗?哦,还有一点需要澄清的是,这些不是MFC dll(正如我被告知的那样),而是msvcrt120d.dll。我们的一个模块依赖于它,我需要找到我们的哪个模块。谢谢。类似于(*.exe*.dll)中%f的
做dumpbin/IMPORTS:msvcrt120d.dll%f
应该做。最好将输出导入文本文件,以便以后可以在文本编辑器中搜索。搜索
msvcrt120d.dll
将直接带您到要查找的模块。
@echo off
echo Testing...

for %%v in (*.exe *.dll) do (
dumpbin /imports %%v | find /i "0d.dll" > nul
if not errorlevel 1 echo %%v is Debug
)