Sehr einfache Anwendung mit dem Fehler "multiple target patterns" von Eclipse

Da ich mich wohler mit Eclipse, ich dachte, ich würde versuchen meine Umwandlung Projekt von Visual Studio. Gestern habe ich versucht, einen sehr einfachen kleinen test. Egal was ich versuche, make schlägt mit "multiple target patterns". (Dies ist ähnlich wie diese unbeantwortete Frage.)

Habe ich drei Dateien:

Application.cpp:

using namespace std;

#include "Window.h"

int main() {
    Window *win = new Window();
    delete &win;
    return 0;
}

Fenster.h:

#ifndef WINDOW_H_
#define WINDOW_H_

class Window {
public:
    Window();
    ~Window();
};

#endif

Window.cpp:

#include <cv.h>
#include <highgui.h>

#include "Window.h"

const char* WINDOW_NAME = "MyApp";

Window::Window() {
    cvNamedWindow(WINDOW_NAME, CV_WINDOW_AUTOSIZE);
    cvResizeWindow(WINDOW_NAME, 200, 200);
    cvMoveWindow(WINDOW_NAME, 0, 0);
    int key = 0;
    while (true) {
        key = cvWaitKey(0);
        if (key==27 || cvGetWindowHandle(WINDOW_NAME)==0) {
            break;
        }
    }
}
Window::~Window() {
    cvDestroyWindow(WINDOW_NAME);
}

Habe ich die folgenden Pfade zu den compiler-include-Pfad (-I):

"$(OPENCV)/cv/include"
"$(OPENCV)/cxcore/include"
"$(OPENCV)/otherlibs/highgui"

Habe ich die folgenden Bibliotheken dem linker (-l):

cv
cxcore
highgui

Und die folgenden library-Suchpfad (-L):

"$(OPENCV)/lib/"

Eclipse, der compiler und der linker alle erfolgreich, darunter die Header und Bibliotheken. Ich bin mit dem GNU C/C++ - compiler & linker von Cygwin.

Beim kompilieren bekomme ich folgende make Fehler:

src/Window.d:1: *** multiple target patterns. Stop.

Fenster.d enthält:

src/Window.d src/Window.o: ../src/Window.cpp \
  C:/Program\ Files/OpenCV/cv/include/cv.h \
  C:/Program\ Files/OpenCV/cxcore/include/cxcore.h \
  C:/Program\ Files/OpenCV/cxcore/include/cxtypes.h \
  C:/Program\ Files/OpenCV/cxcore/include/cxerror.h \
  C:/Program\ Files/OpenCV/cxcore/include/cvver.h \
  C:/Program\ Files/OpenCV/cxcore/include/cxcore.hpp \
  C:/Program\ Files/OpenCV/cv/include/cvtypes.h \
  C:/Program\ Files/OpenCV/cv/include/cv.hpp \
  C:/Program\ Files/OpenCV/cv/include/cvcompat.h \
  C:/Program\ Files/OpenCV/otherlibs/highgui/highgui.h \
  C:/Program\ Files/OpenCV/cxcore/include/cxcore.h ../src/Constants.h \
  ../src/Window.h
C:/Program\ Files/OpenCV/cv/include/cv.h:
C:/Program\ Files/OpenCV/cxcore/include/cxcore.h:
C:/Program\ Files/OpenCV/cxcore/include/cxtypes.h:
C:/Program\ Files/OpenCV/cxcore/include/cxerror.h:
C:/Program\ Files/OpenCV/cxcore/include/cvver.h:
C:/Program\ Files/OpenCV/cxcore/include/cxcore.hpp:
C:/Program\ Files/OpenCV/cv/include/cvtypes.h:
C:/Program\ Files/OpenCV/cv/include/cv.hpp:
C:/Program\ Files/OpenCV/cv/include/cvcompat.h:
C:/Program\ Files/OpenCV/otherlibs/highgui/highgui.h:
C:/Program\ Files/OpenCV/cxcore/include/cxcore.h:
../src/Window.h:

Ich habe versucht, das entfernen Sie alle OpenCV Header aus dem Fenster.d (von Zeile 2 ab), aber der Fehler bleibt. Außerdem habe ich aktualisiert, Eclipse und OpenCV, alles ohne Erfolg.

Haben Sie irgendwelche Ideen, die einen Versuch Wert? Ich bin bereit, alles zu versuchen!

Sollten Sie wohl aufgenommen haben, die das makefile. Da dies ein Fehler von make, das ist wohl wichtiger, als die eigentliche C++ - Quellcode.

InformationsquelleAutor Paul Lammertsma | 2010-03-08

Schreibe einen Kommentar