Hallo @all,
ich hänge den ganzen Tag schon an einem Problem.
Ich möchte mich wieder mehr mit C++ beschäftigen und möchte dazu Eclipse CDT und Windows 10 verwenden.
Compiler Installaton und Eclipse Installation war schnell erledig. Das erste "Hello World"-Program usw. hat auch noch super geklappt aber dann...
Ich dachte ich mach ein bisschen was mit OpenCV und hab mir ein Tutorial aus den Netz genommen und wollte es nachprogrammieren. Also OpenCV runtergeladen und installiert. Kurz 20 Zeilen Code c&p in Eclipse rein und dann fingen die Probleme an. Ich musste die Libraries einbinden und da hänge ich jetzt 8 Stunden dran und es funktioniert einfach nicht... Ewig im Netz gesucht, Tutorials gelesen, Youtube-Videos geschaut und jetzt geb ich auf
Hier mal der Code:
#include <opencv\cv.h>
#include <opencv\highgui.h>
using namespace cv;
int main(){
Mat image;
VideoCapture cap;
cap.open(0);
namedWindow("window",1);
while(1){
cap>>image;
imshow("window",image);
waitKey(33);
}
return 0;
}
Ich hoffe einer von euch kann mir helfen... Unter den Project-Properties hab ich das Include-Verzeichnis richtig eingetragen (glaube ich) unter MinGW C++ Linker > Libraries > Library search path (-L) hab ich "C:\opencv249\build\x86\vc10\lib" eingetragen und unter MinGW C++ Linker > Libraries > Libraries (-l) hab ich sämtliche benötigten Libraries eingetragen (ohne Dateiendung) also zB. "opencv_core249d.lib" steht da nur mit "opencv_core249d" drin. Wenn ich jetzt das Project builde bekomme ich die folgende Fehlermedlung:
02:21:10 **** Incremental Build of configuration Debug for project myNewOpenCV ****
Info: Internal Builder is used for build
g++ "-LC:\\opencv249\\build\\x86\\vc10\\lib" -o myNewOpenCV.exe main.o -lopencv_core249d -lopencv_calib3d249d -lopencv_imgproc249d -lopencv_highgui249d -lopencv_ml249d -lopencv_video249d
main.o: In function `main':
C:\Users\Smajo\workspace\myNewOpenCV\Debug/../main.cpp:12: undefined reference to `cv::VideoCapture::VideoCapture()'
C:\Users\Smajo\workspace\myNewOpenCV\Debug/../main.cpp:13: undefined reference to `cv::VideoCapture:
pen(int)'
C:\Users\Smajo\workspace\myNewOpenCV\Debug/../main.cpp:16: undefined reference to `cv::namedWindow(std::string const&, int)'
C:\Users\Smajo\workspace\myNewOpenCV\Debug/../main.cpp:20: undefined reference to `cv::VideoCapture:
perator>>(cv::Mat&)'
C:\Users\Smajo\workspace\myNewOpenCV\Debug/../main.cpp:23: undefined reference to `cv::_InputArray::_InputArray(cv::Mat const&)'
C:\Users\Smajo\workspace\myNewOpenCV\Debug/../main.cpp:23: undefined reference to `cv::imshow(std::string const&, cv::_InputArray const&)'
C:\Users\Smajo\workspace\myNewOpenCV\Debug/../main.cpp:26: undefined reference to `cv::waitKey(int)'
C:\Users\Smajo\workspace\myNewOpenCV\Debug/../main.cpp:12: undefined reference to `cv::VideoCapture::~VideoCapture()'
main.o: In function `ZN2cv3MatD1Ev':
C:/opencv249/build/include/opencv2/core/mat.hpp:278: undefined reference to `cv::fastFree(void*)'
main.o: In function `ZN2cv3Mat7releaseEv':
C:/opencv249/build/include/opencv2/core/mat.hpp:367: undefined reference to `cv::Mat::deallocate()'
collect2.exe: error: ld returned 1 exit status
So wie ich das verstehe findet der Compiler die Funktionen nicht. Eclipse zeigt auch keine Beschreibung zu den Funktionen an -> zB. "undefined reference to `cv::VideoCapture:
pen(int)".
Wenn ich jetzt aber unter MinGW C++ Linker > Libraries > Libraries (-l) sämtliche benötigten Libraries mit Dateiendung eintrage findet der Eclipseditor anscheinend die Funktionen da er mir auch eine Beschreibung dafür ausgibt. Aber wenn ich jetzt das Project builde bekomme ich folgende Fehlermeldung:
02:34:07 **** Incremental Build of configuration Debug for project myNewOpenCV ****
Info: Internal Builder is used for build
g++ "-LC:\\opencv249\\build\\x86\\vc10\\lib" -o myNewOpenCV.exe main.o -lopencv_core249d.lib -lopencv_calib3d249d.lib -lopencv_imgproc249d.lib -lopencv_highgui249d.lib -lopencv_ml249d.lib -lopencv_video249d.lib
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lopencv_core249d.lib
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lopencv_calib3d249d.lib
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lopencv_imgproc249d.lib
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lopencv_highgui249d.lib
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lopencv_ml249d.lib
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lopencv_video249d.lib
collect2.exe: error: ld returned 1 exit status
02:34:07 Build Finished (took 128ms)
Wie kann das sein? Die Dateien sind da! Ich werd noch verrückt... Beim einen findet Eclipse nicht die Funktionen und beim anderen nicht die Dateien?!? Was mache ich falsch?
Thx und gute Nacht
ich hänge den ganzen Tag schon an einem Problem.
Ich möchte mich wieder mehr mit C++ beschäftigen und möchte dazu Eclipse CDT und Windows 10 verwenden.
Compiler Installaton und Eclipse Installation war schnell erledig. Das erste "Hello World"-Program usw. hat auch noch super geklappt aber dann...
Ich dachte ich mach ein bisschen was mit OpenCV und hab mir ein Tutorial aus den Netz genommen und wollte es nachprogrammieren. Also OpenCV runtergeladen und installiert. Kurz 20 Zeilen Code c&p in Eclipse rein und dann fingen die Probleme an. Ich musste die Libraries einbinden und da hänge ich jetzt 8 Stunden dran und es funktioniert einfach nicht... Ewig im Netz gesucht, Tutorials gelesen, Youtube-Videos geschaut und jetzt geb ich auf

Hier mal der Code:
#include <opencv\cv.h>
#include <opencv\highgui.h>
using namespace cv;
int main(){
Mat image;
VideoCapture cap;
cap.open(0);
namedWindow("window",1);
while(1){
cap>>image;
imshow("window",image);
waitKey(33);
}
return 0;
}
Ich hoffe einer von euch kann mir helfen... Unter den Project-Properties hab ich das Include-Verzeichnis richtig eingetragen (glaube ich) unter MinGW C++ Linker > Libraries > Library search path (-L) hab ich "C:\opencv249\build\x86\vc10\lib" eingetragen und unter MinGW C++ Linker > Libraries > Libraries (-l) hab ich sämtliche benötigten Libraries eingetragen (ohne Dateiendung) also zB. "opencv_core249d.lib" steht da nur mit "opencv_core249d" drin. Wenn ich jetzt das Project builde bekomme ich die folgende Fehlermedlung:
02:21:10 **** Incremental Build of configuration Debug for project myNewOpenCV ****
Info: Internal Builder is used for build
g++ "-LC:\\opencv249\\build\\x86\\vc10\\lib" -o myNewOpenCV.exe main.o -lopencv_core249d -lopencv_calib3d249d -lopencv_imgproc249d -lopencv_highgui249d -lopencv_ml249d -lopencv_video249d
main.o: In function `main':
C:\Users\Smajo\workspace\myNewOpenCV\Debug/../main.cpp:12: undefined reference to `cv::VideoCapture::VideoCapture()'
C:\Users\Smajo\workspace\myNewOpenCV\Debug/../main.cpp:13: undefined reference to `cv::VideoCapture:

C:\Users\Smajo\workspace\myNewOpenCV\Debug/../main.cpp:16: undefined reference to `cv::namedWindow(std::string const&, int)'
C:\Users\Smajo\workspace\myNewOpenCV\Debug/../main.cpp:20: undefined reference to `cv::VideoCapture:

C:\Users\Smajo\workspace\myNewOpenCV\Debug/../main.cpp:23: undefined reference to `cv::_InputArray::_InputArray(cv::Mat const&)'
C:\Users\Smajo\workspace\myNewOpenCV\Debug/../main.cpp:23: undefined reference to `cv::imshow(std::string const&, cv::_InputArray const&)'
C:\Users\Smajo\workspace\myNewOpenCV\Debug/../main.cpp:26: undefined reference to `cv::waitKey(int)'
C:\Users\Smajo\workspace\myNewOpenCV\Debug/../main.cpp:12: undefined reference to `cv::VideoCapture::~VideoCapture()'
main.o: In function `ZN2cv3MatD1Ev':
C:/opencv249/build/include/opencv2/core/mat.hpp:278: undefined reference to `cv::fastFree(void*)'
main.o: In function `ZN2cv3Mat7releaseEv':
C:/opencv249/build/include/opencv2/core/mat.hpp:367: undefined reference to `cv::Mat::deallocate()'
collect2.exe: error: ld returned 1 exit status
So wie ich das verstehe findet der Compiler die Funktionen nicht. Eclipse zeigt auch keine Beschreibung zu den Funktionen an -> zB. "undefined reference to `cv::VideoCapture:

Wenn ich jetzt aber unter MinGW C++ Linker > Libraries > Libraries (-l) sämtliche benötigten Libraries mit Dateiendung eintrage findet der Eclipseditor anscheinend die Funktionen da er mir auch eine Beschreibung dafür ausgibt. Aber wenn ich jetzt das Project builde bekomme ich folgende Fehlermeldung:
02:34:07 **** Incremental Build of configuration Debug for project myNewOpenCV ****
Info: Internal Builder is used for build
g++ "-LC:\\opencv249\\build\\x86\\vc10\\lib" -o myNewOpenCV.exe main.o -lopencv_core249d.lib -lopencv_calib3d249d.lib -lopencv_imgproc249d.lib -lopencv_highgui249d.lib -lopencv_ml249d.lib -lopencv_video249d.lib
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lopencv_core249d.lib
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lopencv_calib3d249d.lib
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lopencv_imgproc249d.lib
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lopencv_highgui249d.lib
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lopencv_ml249d.lib
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lopencv_video249d.lib
collect2.exe: error: ld returned 1 exit status
02:34:07 Build Finished (took 128ms)
Wie kann das sein? Die Dateien sind da! Ich werd noch verrückt... Beim einen findet Eclipse nicht die Funktionen und beim anderen nicht die Dateien?!? Was mache ich falsch?
Thx und gute Nacht