2016-04-06 70 views
0

我們的發佈版本需要MFC庫的調試版本。有沒有人知道從哪裏開始尋找項目,以便我們可以正確更改這些依賴關係以釋放它們?使用
命令行:發佈版本依賴於來自MFC的調試DLL

在%F(* .LIB)做DUMPBIN /IMPORTS:msvcrt120d.dll /OUT:output.txt

編輯:

而且我得到的輸出(與我指定的導入文件無關):

Dump of file DataMts.lib 

File Type: LIBRARY 

Summary

 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 
+0

檢查MFC設置。如果這些都很好,那麼它可能是你鏈接的一個庫的依賴關係。檢查您是否鏈接到(第三方)庫的調試版本,該庫與MFC的調試版本鏈接。 – IInspectable

+0

@IInspectable嗨,你好朋友的好消息。這可能是我們鏈接的其中一個庫的依賴關係。但是這些庫的數量是巨大的(超過160),我相信我必須手動對它們進行檢查,除非你能提出更好的解決方案? –

+0

您可以自動執行此過程:在所有DLL上運行[FOR](https://technet.microsoft.com/en-us/library/bb490909.aspx)循環並執行[DUMPBIN](https://msdn.microsoft .com/en-us/library/c1h23y6c.aspx)與[/IMPORTS](https://msdn.microsoft.com/en-us/library/d7k09ee7.aspx)選項,將其中一個調試MFC DLL作爲可選的*文件*參數。 – IInspectable

回答

0

通過這個剛走到確保我們的最終版本沒有調試依賴 這裏是我的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 
)