gpt4 book ai didi

c++ - 非常简单的应用程序失败,来自 Eclipse 的 "multiple target patterns"

转载 作者:可可西里 更新时间:2023-11-01 15:33:41 24 4
gpt4 key购买 nike

因为我更习惯使用 Eclipse,所以我想尝试从 Visual Studio 转换我的项目。昨天我尝试了一个非常简单的小测试。无论我尝试什么,make 都会因“多目标模式”而失败。 (这类似于 this unanswered question 。)

我有三个文件:

应用程序.cpp:

using namespace std;

#include "Window.h"

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

窗口.h:

#ifndef WINDOW_H_
#define WINDOW_H_

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

#endif

窗口.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);
}

我已将以下路径添加到编译器包含路径 (-I):

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

我已将以下库添加到链接器 (-l):

cv
cxcore
highgui

以及以下库搜索路径(-L):

"$(OPENCV)/lib/"

Eclipse、编译器和链接器都成功地包含了头文件和库。我正在使用来自 Cygwin 的 GNU C/C++ 编译器和链接器。

编译时,出现以下make错误:

src/Window.d:1: *** 多个目标模式。停止。

Window.d 包含:

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:

我尝试从 Window.d 中删除所有 OpenCV header (从第 2 行开始),但错误仍然存​​在。此外,我更新了 Eclipse 和 OpenCV,但都无济于事。

您有什么值得尝试的想法吗?我愿意尝试任何事情!

最佳答案

您使用的是 Cygwin 安装吗?

我在使用 Cygwin 之前看到过这个问题——基本上,make 看到路径中的 : 并认为它是另一个目标定义,因此出现错误。

如果您使用的是 Cygwin 安装,您可以尝试将 c:/ 替换为 /cygdrive/c/。如果没有,您可以尝试使用相对路径或使用网络挂载,看看是否可以解决问题。

关于c++ - 非常简单的应用程序失败,来自 Eclipse 的 "multiple target patterns",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2401976/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com