非常简单的应用失败,具有“多个目标模式”从Eclipse [英] Very simple application fails with "multiple target patterns" from Eclipse
问题描述
由于我更习惯使用Eclipse,我以为我会尝试从Visual Studio转换我的项目。昨天我试过一个非常简单的小测试。无论我尝试, make
失败与多目标模式。 (这类似于此未回答的问题)。
Since I'm more comfortable using Eclipse, I thought I'd try converting my project from Visual Studio. Yesterday I tried a very simple little test. No matter what I try, make
fails with "multiple target patterns". (This is similar to this unanswered question.)
我有三个文件:
Application.cpp:
Application.cpp:
using namespace std;
#include "Window.h"
int main() {
Window *win = new Window();
delete &win;
return 0;
}
Window.h:
#ifndef WINDOW_H_
#define WINDOW_H_
class Window {
public:
Window();
~Window();
};
#endif
Window.cpp:
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);
}
我添加了以下路径到编译器include path( -I
):
"$(OPENCV)/cv/include"
"$(OPENCV)/cxcore/include"
"$(OPENCV)/otherlibs/highgui"
$ b b
我已将以下库添加到链接器( -l </ code>):
I have added the following libraries to the linker (-l
):
cv
cxcore
highgui
path( -L
):
"$(OPENCV)/lib/"
Eclipse,编译器和链接器都能成功包含头文件和库。我使用的GNU C / C ++编译器&
Eclipse, the compiler and the linker all succeed in including the headers and libraries. I am using the GNU C/C++ compiler & linker from Cygwin.
在编译时,我得到以下 make
错误:
When compiling, I get the following make
error:
src / Window.d:1:***多个目标模式。停止。
src/Window.d:1: *** multiple target patterns. Stop.
Window.d包含:
Window.d contains:
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头),但错误仍然存在。此外,我更新了Eclipse和OpenCV,都没有用。
I tried removing all OpenCV headers from Window.d (from line 2 onwards), but the error remains. Also, I've updated Eclipse and OpenCV, all to no avail.
你有什么想法值得尝试吗?我愿意尝试任何东西!
Do you have any ideas worth trying? I'm willing to try anything!
推荐答案
您是从Cygwin安装工作吗?
Are you working from a Cygwin installation?
我在使用Cygwin之前就看到了这个问题 - 基本上, make
I've seen this problem before using Cygwin--basically, make
sees the :
in the path and thinks it is another target definition, hence the error.
如果你是从Cygwin安装工作,你可以试试用 / cygdrive / c /
替换 c:/
。如果没有,您可以尝试使用相对路径或使用网络安装,并查看是否修复它。
If you are working from a Cygwin installation, you might try replacing the c:/
with /cygdrive/c/
. If not, you might try using relative paths or using a network mount and see if that fixes it.
这篇关于非常简单的应用失败,具有“多个目标模式”从Eclipse的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!