2012-03-11 21 views
8

Bản dựng OpenCV này đã hoạt động cho tôi cách đây vài đêm. Tôi đang cố gắng chạy ví dụ grabcut.cpp tệp được đưa ra với các ví dụ về OpenCV và vì vậy tôi đã thiết lập một dự án nhanh và brough tệp cpp. Sau đó, tôi thiết lập tất cả cấu hình chuẩn và gặp lỗi này khi xây dựng.Lỗi liên kết lạ liên kết đến opencv ... "LNK1107: tệp không hợp lệ hoặc bị hỏng: không thể đọc tại 0x2E8"

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

này có nghĩa là gì?

+0

liên quan trực tiếp: https://msdn.microsoft.com/en-us/library/0h6ctxtk.aspx – vaxquis

Trả lời

24

Nếu tôi phải đoán (một phần dựa trên the documentation of that error), tôi muốn nói bạn đang cố liên kết trực tiếp với DLL.

Bạn có thể muốn liên kết với tệp .lib tương ứng của nó.

+0

Tôi cảm thấy mình luôn liên kết với các tệp DLL trước đó ... Điều đó không bình thường? – Jim

+0

Phụ thuộc vào trình biên dịch; MinGW, ví dụ, dường như có thể liên kết trực tiếp với các DLL. – user1071136

+0

Hmm, tôi không biết về MinGW. Có lẽ bạn đã đúng. Nó có thể làm một cái gì đó tương tự như người ta có thể làm với các công cụ của Visual Studio để tạo ra một .def và do đó một .lib từ một DLL. Tuy nhiên (trừ khi bất cứ ai có thể cho tôi biết nếu không) Tôi không nghĩ rằng Visual Studio cho phép liên kết trực tiếp chống lại một DLL. Bạn phải sử dụng một .lib hoặc tải động DLL trong mã của bạn. – Bart

Các vấn đề liên quan