2011-01-12 27 views
0

我正在測試swig,並且我發現SWIG的vcxproj文件運行mt.exe來生成清單文件。爲什麼SWIG需要使用mt.exe生成清單文件?

swig -c++ -csharp example.i 
CL.exe ... -> compile the c++ source 
link.exe ... -> generate dll 
mt.exe ... 
Csc.exe ... 

這是幹什麼用的?我跳過了mt.exe,但它似乎工作正常。

回答

1

這是在VS的版本非常大的交易之前,2010年mt.exe嵌入自動生成的可執行映像清單中,重要列出存儲在Windows並行緩存中的DLL依賴關係。現在沒什麼大不了的了,它只嵌入了「我與Vista兼容」的清單。並排緩存相當令人頭痛,並且因爲VS2010而被拋棄。

你應該檢查.manifest的文件中生成的目錄並確保沒有重要的是它。就像啓用視覺樣式的通用對話框版本6條目一樣。

1

這與SWIG無關,但Visual C++如何生成二進制輸出。

mt.exe tool產生清單文件,它嵌入從清單文件中已經存在的信息(我想鏈接器會創建它)到輸出DLL。如果沒有這個,輸出DLL可能只在清單文件駐留在同一目錄中的DLL上時才起作用。 (注意:我從來沒有真正困擾過關於清單的更深入的研究,那裏有什麼信息,如果所有的信息都需要,但是因爲它只是在您創建一個exe或dll時自動完成在VC++一個人不應該立即必要理會,除非有不工作:-)

相關問題