OpenCV: ไม่สามารถดำเนินการโค้ดได้ DLLs หายไป

ฉันกำลังสร้างโปรแกรมโดยใช้ OpenCV และฉันต้องการคุณสมบัติที่ตรงกัน ก่อนหน้านี้ฉันเคยใช้ OpenCV3 แต่เห็นได้ชัดว่าการทำให้ SURF ทำงานนั้นค่อนข้างยุ่งยาก ดังนั้นฉันจึงเปลี่ยนมาใช้ OpenCV2.4

ฉันดาวน์โหลดไลบรารีที่สร้างไว้ล่วงหน้าแล้ว และต้องการใช้กับ Visual Studio แต่ฉันมีปัญหา เมื่อฉันรันโปรแกรม ฉันได้รับข้อความดังนี้:

เมื่อฉันคลิกตกลง ฉันจะได้รับข้อความติดตามผลเพิ่มเติมที่บ่นเกี่ยวกับ dll ที่หายไปอื่นๆ ฉันพยายามติดตั้งใหม่ แต่ยังคงได้รับข้อผิดพลาดนี้

นี่คือการตั้งค่าของฉัน:

ภายใต้ C/C++>ทั่วไป: รวมไดเรกทอรีเพิ่มเติม:

C:\opencv2.4\opencv\build\include

ภายใต้ Linker>ทั่วไป: ไดเรกทอรีห้องสมุดเพิ่มเติม:

C:\opencv2.4\opencv\build\x64\vc14\lib
C:\opencv2.4\opencv\build\x64\vc14\bin

ภายใต้ Linker>Incput: การพึ่งพาเพิ่มเติม:

opencv_calib3d2413.lib
opencv_contrib2413.lib
opencv_core2413.lib
opencv_features2d2413.lib
opencv_flann2413.lib
opencv_gpu2413.lib
opencv_highgui2413.lib
opencv_imgproc2413.lib
opencv_legacy2413.lib
opencv_ml2413.lib
opencv_nonfree2413.lib
opencv_objdetect2413.lib
opencv_ocl2413.lib
opencv_photo2413.lib
opencv_stitching2413.lib
opencv_superres2413.lib
opencv_ts2413.lib
opencv_video2413.lib
opencv_videostab2413.lib

ฉันได้ลองแก้ไขตัวแปรสภาพแวดล้อมภายใต้ Path ฉันได้เพิ่มไดเรกทอรี include\ bin\ และ lib\ ฉันไม่รู้ว่าจะแก้ไขปัญหานี้อย่างไร ฉันรู้ว่ามี dll อยู่ที่นั่น


person Danny Ibrahim    schedule 11.03.2018    source แหล่งที่มา
comment
บางสิ่งที่คุณควรสังเกต: 1. โปรแกรมของคุณใช้ x64 หรือ x86 หรือไม่? คุณกำลังใช้ x64 lib 2 libs ที่สร้างไว้ล่วงหน้าใช้สำหรับ Visual Studio 2015 (vc 14)   -  person K.M. Shihab Uddin    schedule 12.03.2018


คำตอบ (2)


ฉันคัดลอกและวาง dll จากไดเร็กทอรี bin\ ลงในไดเร็กทอรีโซลูชันของฉัน และตอนนี้ทุกอย่างก็ทำงานได้ดี

ฉันไม่แน่ใจว่าเหตุใดการเพิ่ม bin\ ให้กับเส้นทางจึงไม่ทำงาน แต่นี่คือวิธีแก้ไขปัญหานั้น

person Danny Ibrahim    schedule 11.03.2018
comment
ฉันไม่แน่ใจว่าเหตุใดการเพิ่ม bin\ ให้กับเส้นทางจึงไม่ทำงาน คุณรีสตาร์ท Visual Studio หลังจากเปลี่ยนตัวแปรสภาพแวดล้อม PATH ของคุณหรือไม่ - person drescherjm; 11.03.2018

โปรแกรมดำเนินการไม่พบ DLL ภายใต้ "Linker>ทั่วไป: ไดเรกทอรีไลบรารีเพิ่มเติม" คาดว่าจะมีพาธสำหรับไฟล์ .lib แต่โปรแกรมจะค้นหา DLL ในระหว่างดำเนินการ ดังนั้นในโฟลเดอร์ปัจจุบันและในโฟลเดอร์ PATH

วาง Dll ลงในโฟลเดอร์ดำเนินการหรือแก้ไข PATH เพื่อเพิ่มโฟลเดอร์ DLL (ในกรณีนี้อย่าลืมรีสตาร์ท Visual Studio)

ไชโย

person Rudy    schedule 12.03.2018