在mac 64位上编译openCV代码

在mac 64位上编译openCV代码,opencv,makefile,Opencv,Makefile,我一直在尝试在mac 64位上用openCV编译代码。以下是我的makefile内容: OSTYPE := $(shell uname -s) SRC_FILES = \ ../RGB_display/main.cpp INC_DIRS += ../RGB_display EXE_NAME = RGB_display DEFINES = USE_GLUT #opencv libraries ################### CC = g++ DEBUG_LEVEL =

我一直在尝试在mac 64位上用openCV编译代码。以下是我的makefile内容:

OSTYPE := $(shell uname -s)

SRC_FILES = \
    ../RGB_display/main.cpp 

INC_DIRS += ../RGB_display

EXE_NAME = RGB_display

DEFINES = USE_GLUT

#opencv libraries
###################
CC = g++ 
DEBUG_LEVEL = -m64 -g3 -O0 
CFLAGS = -O3 -I/opt/local/include/opencv -L/opt/local/lib/
LIBS = -lhighgui -lcvaux -lcv -lml -lcxcore
.SUFFIXES: .o .cc

LDFlags = `pkg-config --libs opencv` -opencv_imgproc
####################
#end add

ifeq ("$(OSTYPE)","Darwin")
        LDFLAGS += -framework OpenGL -framework GLUT
else
        USED_LIBS += glut
endif

include ../NiteSampleMakefile
但是,我得到以下错误:

ld: symbol(s) not found for architecture x86_64

有人知道为什么会这样吗?我知道我的mac是64位系统,但我试过添加DEBUG_LEVEL=-m64,但仍然不起作用

是否确实安装了64位OpenCV库?(或通用二进制文件)这应该是您的问题


在OpenCV库上使用“file”命令应该可以告诉您它们提供了什么体系结构。

上面写着“libcv.dylib:Mach-O 64位动态链接共享库x86_64”,我想是这样吧?我很困惑,因为我在另一个代码中遇到了同样的问题,并且通过添加DEBUG_级别行解决了这个问题。但是,它现在不起作用了…@Esther关于libhighgui、libcvaux、libml和libcxcore呢?好的,我想我知道了。在opencv2中,库的名称不同。它们是opencv_highgui、opencv_cvaux等。另外,在我的公共make文件中,有两行代码:CFLAGS+=-arch i386-arch x86_64 LDFLAGS+=-arch i386-arch x86_64我删除了-arch i386,这两行代码都有效。谢谢