2014-02-10 57 views
0

我使用CMake和VS2010構建了支持TBB的OpenCV(動態庫)。但是,爲了將我的插件(使用opencv調用)集成到外部主機應用程序中,我必須重命名tbb.dll,因爲主機應用程序已包含tbb.dll,但使用了不同的版本。重命名DLL(TBB + OpenCV)

我讀過DUMPBIN和LIB命令可以用來獲取dll的導出符號列表來創建一個導入庫。但是,根據http://support.microsoft.com/kb/131313/en-us,這僅適用於使用C接口的導出函數,但Dependency Walker顯示使用C和C++接口。

那麼,是否有一個「簡單」的解決方案來重命名後tbb.dll(即在OpenCV編譯後)?或者你有什麼提示可以做到這一點?

在此先感謝!

+0

你真的需要重命名DLL嗎?如果你不這樣做會發生什麼壞事?只是應用程序已經運送TBB的事實並不意味着您的插件將無法工作。 –

回答

0

這不是一個好的解決方案,但它可以修補dll-s!例如。將dll中對tbb.dll的引用替換爲tbc.dll。你可以使用一個十六進制編輯器,或者寫一個腳本。