2012-03-11 326 views
8

這個OpenCV版本幾天前爲我工作。我正在嘗試使用OpenCV示例給出的示例grabcut.cpp文件,因此我設置了一個快速項目並通過cpp文件進入。然後,我設置了所有標準配置,並在構建時出現此錯誤。奇怪的鏈接器錯誤鏈接到opencv ...「LNK1107:無效或損壞的文件:無法在0x2E8讀取」

error LNK1107: invalid or corrupt file: cannot read at 0x2E8 
opencv_calib3d231.dll 

這是什麼意思?

+0

直接相關:https://msdn.microsoft.com/en-us/library/0h6ctxtk.aspx – vaxquis 2016-04-12 17:58:06

回答

24

如果我不得不猜測(部分基於the documentation of that error),我會說你想直接鏈接到DLL。

您可能想鏈接它的相應.lib文件。

+0

我覺得我總是鏈接到DLL之前...這不正常? – Jim 2012-03-11 17:22:01

+0

取決於編譯器;例如,MinGW似乎可以直接鏈接到DLL。 – user1071136 2012-03-11 17:25:18

+0

嗯,我不知道MinGW。也許你是對的。它可能會做類似於Visual Studio的工具,從DLL生成.def和.lib。然而(除非任何人可以告訴我,否則)我不認爲Visual Studio允許直接鏈接到DLL。您必須使用.lib或在您的代碼中動態加載DLL。 – Bart 2012-03-11 17:28:11