2011-06-01 127 views
0

我一直試圖在mac 64bit上用openCV編譯我的代碼。以下是我的makefile內容:在mac 64bit上編譯openCV代碼

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 

有誰知道爲什麼發生這種情況?我知道它關於我的64位系統上的Mac,但我已經嘗試添加DEBUG_LEVEL = -m64,它仍然不起作用。

回答

0

您確定安裝了64位OpenCV庫嗎? (或通用二進制文件)這應該是你的問題。

在OpenCV庫上使用「file」命令應該告訴你它們提供了哪些體系結構。

+0

它說 「libcv.dylib:Mach-O的64位動態鏈接共享庫x86_64的」 所以我猜它是什麼?我很困惑,因爲我遇到了另一個代碼的問題,並且通過添加DEBUG_LEVEL行來解決問題。然而,它現在不工作... – 2011-06-01 02:24:28

+0

@Esther那麼libhighgui,libcvaux,libml和libcxcore呢? – 2011-06-01 02:28:41

+0

是的,我已經嘗試過所有這些,它說... – 2011-06-01 03:37:54