War*_*ing 6 c++ macos opencv g++ 32bit-64bit
我最近继承了一些OpenCV代码.我在我的mac上安装了openCV,内置在XCode中,然后编译并成功运行了我的第一个openCV"hello world"-ish程序.
现在,我尝试运行我得到的代码,但我得到的是使我错误认为它是与原始代码的问题被一个32位的Windows系统上运行和我是一个64位的Mac上.
当我通过输入"make"运行Makefile时
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)
Run Code Online (Sandbox Code Playgroud)
我得到以下输出...
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
Run Code Online (Sandbox Code Playgroud)
我糊涂了; 这是否意味着我的OpenCV安装错误,代码(具体是那些方法)需要更改,还是完全不同的?
注意:当我从vision.cpp代码中注释掉问题方法时,一切都编译得很好.
kar*_*lip 16
添加opencv_imgproc
到您的LDFLAGS:
LDFLAGS = -I/usr/local/include/opencv -lm -lopencv_core -lopencv_highgui -lopencv_video -lopencv_imgproc
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13366 次 |
最近记录: |