在64位mac上编译OpenCV代码 [英] Compiling OpenCV code on a 64-bit mac
问题描述
我最近继承了一些OpenCV代码。我在我的mac上安装openCV,内置在XCode中,然后编译并成功运行我的第一个openCVhello world-ish程序。
I recently inherited some OpenCV code. I installed openCV on my mac, built in in XCode, and then compiled and successfully ran my first openCV "hello world"-ish program.
运行我给的代码,但我得到的错误,导致我相信这是一个问题,原始代码运行在32位Windows系统上,我的64位Mac。
Now I'm trying to run the code I was given, but I get errors that lead me to believe it's an issue with the original code being run on a 32-bit Windows system and mine being on a 64-bit Mac.
当我通过输入make运行Makefile
When I run the Makefile by entering "make"
CC = g++
CFLAGS =
LDFLAGS = -I/usr/local/include/opencv -lm -lopencv_core -lopencv_highgui -lopencv_video
ALL = vision
all: $(ALL)
vision: vision.o
$(CC) $(LDFLAGS) -o $@ $^
vision.o: vision.cpp
$(CC) $(LDFLAGS) -c $<
.PHONY: clean
clean:
rm -rf *.o core* $(ALL)
我得到以下输出...
I get the following output…
g++ -I/usr/local/include/opencv -lm -lopencv_core -lopencv_highgui -lopencv_video -o vision vision.o
Undefined symbols for architecture x86_64:
"cv::equalizeHist(cv::Mat const&, cv::Mat&)", referenced from:
_main in vision.o
"cv::threshold(cv::Mat const&, cv::Mat&, double, double, int)", referenced from:
_main in vision.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make: *** [vision] Error 1
这意味着我的OpenCV安装是错误的,代码(这些方法具体)需要更改,或者完全是其他的东西?
I'm confused; does this mean my install of OpenCV is wrong, the code (those methods specifically) needs to be changed, or something else entirely?
注意:当我注释掉问题
推荐答案
添加 opencv_imgproc
到你的LDFLAGS:
Add opencv_imgproc
to your LDFLAGS:
LDFLAGS = -I/usr/local/include/opencv -lm -lopencv_core -lopencv_highgui -lopencv_video -lopencv_imgproc
这篇关于在64位mac上编译OpenCV代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!