2008-12-09 96 views

回答

14

試試/oc:FILENAME選項依賴,寫一個逗號分隔值文件。這看起來像由機器解析比由/ ot:FILENAME /選項生成的「自由格式」文本文件更容易解析。

8

Dependency Walkermany options包括輸出到文件選項。其中之一是/oc:<path>,它將輸出寫入CSV file,該工具很容易被其他工具解析,甚至只是導入到電子表格應用程序中。

根據您需要的依賴關係,您可能實際上也有跨平臺工具來執行此操作 - 例如CMake fixup-bundle可將所有檢測到的非系統依賴項複製到目標位置(可執行文件或共享庫) ,即使在Windows上。文檔沒有清楚地解釋它,但我現在已經在一個跨平臺項目中使用它。

+0

問題中提到的「依賴」是Dependency Walker的exe名稱。 – unwind 2008-12-09 14:53:05

+0

依賴和依賴沃克和同樣的事情。我知道它可以在命令行中運行,但我說輸出不是計算機友好的。 – Jazz 2008-12-09 14:53:20

+0

是的,我錯過了 - 我太快閱讀這個問題的糟糕之處。但我確實打算Unwind的答案在上面 - csv版本更容易解析。 – 2008-12-09 15:17:24

2

使用/oc:<path>選項,Dependency Walker爲您提供了一個易於解析的CSV file。如果您還想要庫的路徑,則還需要使用-f 1選項。如果您需要複製這些庫(例如,製作可分發版本的可執行文件),則可能需要執行此操作。

不幸的是,在depends.exe的輸出中,庫的路徑被轉換爲小寫,並且DLL名稱被轉換爲大寫。例如,

C:\ QTSDK \桌面\ QT \ 4.7.4 \ MinGW的\ BIN \ QTCORE4.DLL

當庫實際上是位於:

Ç :\ QTSDK \桌面\的Qt \ 4.7.4 \ MinGW的\ BIN \ QtCore4.dll

似乎沒有成爲一個辦法讓帶的Depends.exe正確報告的路徑是恥辱。