Ich begann zu lernen über die Verwendung von Opencv 3 in c. Während ich über die highgui.h Funktionen lernte, habe ich versucht, die Funktion cvCreateButton zu verwenden und ichopencv 3: CVcreatebutton gibt LNK2019 Fehler
bekam folgende Fehlermeldung:
error LNK2019: unresolved external symbol _cvCreateButton referenced in function _main
Ich habe auch:
error LNK1120: 1 unresolved externals
ich verwende Visual Studio 2013 auf einem Windows 10 Laptop Hier ist der Quellcode:
#include <stdio.h>
#include <opencv2\core\core_c.h>
#include <opencv2\highgui\highgui_c.h>
#include <time.h>
int main(void)
{
int i,sliderVal = 0;
cvNamedWindow("Display window", CV_WINDOW_AUTOSIZE); //create a window
//create an image
IplImage* image = cvLoadImage("C:/Users/magshimim/Pictures/py.png", 1);
cvCreateTrackbar("test", "Display window", &sliderVal, 500, NULL);//trackbar without name
CvScalar color = { 0 };
color.val[3] = 255;//alpha value of 255
//make the square exactly in the middle of the picture
CvPoint p1 = cvPoint(image->width/4, image->height/4);//top left quarter of image
CvPoint p2 = cvPoint(p1.x * 3, p1.y * 3);//botton right quarter of image
cvCreateButton("button", NULL, "button", CV_PUSH_BUTTON, 0);//that is the line that gives the error
srand(time(NULL));//random seed
if (!image)//The image is empty.
{
printf("could not open image\n");
}
else
{
while (1)
{
for (i = 0; i < 3; i++)
{
color.val[i] = rand() % 256;//random color for square
}
//add square on picture, and update the screen
cvRectangle(image, p1, p2, color, -1, 0, 0);
cvShowImage("Display window", image);
cvWaitKey(sliderVal + 1);//slider sets the delay between each color change, delay of 0 is to wait forever so minimum delay is 1
}
cvWaitKey(0);
system("pause");
cvReleaseImage(&image);
}
return 0;
}
In den Projekteigenschaften, habe ich in C/C++ -> Allgemein-> Weitere Fügen Sie Verzeichnisse der Ordner mit den Include-Dateien (opencv\build\include)
Und im Linker, in allgemein-> additonal Bibliotheksverzeichnisse i hinzugefügt C:\opencv\build\x86\vc11\bin and C:\opencv\build\x86\vc12\lib
Und in Eingabe-> zusätzliche Abhängigkeiten habe ich opencv_world300d.lib
und opencv_ts300d.lib
hinzugefügt.
Ich habe die Anweisungen von meinem c-Lehrer, in einer After-School-Klasse/Aktivität über die Programmierung in c. Die Anweisungen sind in Hebräisch, aber hier ist der Link, wenn jemand
https://drive.google.com/open?id=0Bxa6_LIMELY4RjVvVDJGZkNRZ1k
aussehen will ich heruntergeladen opencv von hier: http://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.0.0/opencv-3.0.0.exe/download.
Auch wenn ich opencv_highgui300d.lib
zu Linker-> Eingabe-> zusätzliche Abhängigkeiten hinzufügen, löst es das Problem nicht. Wie kann ich es lösen? Und was hat den Fehler verursacht? Noam Wiseman
Vielen Dank für Ihre Antwort. Ich habe vergessen zu sagen, dass ich bereits opencv \ build \ x86 \ vc12 \ bin zum Pfad hinzugefügt habe. Was ist der FILL-Pfad? –
Entschuldigung, es ist ein Tippfehler, den ich FULL meinte. –
Ich habe die DLLs nacheinander in meine Projektordner kopiert. –