2011-06-01 3 views
0

Я пытался скомпилировать свой код с openCV на Mac 64bit. Ниже мои Makefile содержание:компиляция кода openCV на mac 64bit

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, и он все еще не работает.

ответ

0

Вы уверены, что у вас установлены 64-разрядные библиотеки OpenCV? (Или универсальные бинарные файлы) Это должно быть вашей проблемой.

Использование команды «файл» в ваших библиотеках OpenCV должно сообщать вам, какие архитектуры они предоставляют.

+0

Это говорит "libcv.dylib: Mach-O 64-бит динамически подключаемые библиотеки x86_64" так что я предполагаю, что это? Я озадачен тем, что у меня была такая же проблема с другим кодом, и она была решена путем добавления строки DEBUG_LEVEL. Однако теперь это не работает ... –

+0

@Esther Что относительно libhighgui, libcvaux, libml и libcxcore? –

+0

да, я пробовал все из них, он говорит то же самое ... –

Смежные вопросы