我刚刚开始使用OpenCV,并且无法在this website上运行示例代码。
我制作了一个.cpp
文件并将代码复制/粘贴。
我在命令行上运行了以下命令:
g ++ program.cpp -o program
我收到了以下错误:
未定义引用`cv :: imread(cv :: String const&,int)'
program.cpp :(。text + 0x128):未定义的引用 `cv :: namedWindow(cv :: String const&,int)'
program.cpp :(。text + 0x17d):未定义的引用 `cv :: imshow(cv :: String const&,cv :: _ InputArray const&)'
program.cpp :(。text + 0x1a5):对`cv :: waitKey(int)'的未定义引用
/tmp/cceJEar6.o:在函数`cv :: String :: String(char const *)'中:
program.cpp :( text._ZN2cv6StringC2EPKc [_ZN2cv6StringC5EPKc] +送出0x4d): 未定义的引用`cv :: String :: allocate(unsigned long)'
它似乎是一个链接问题,它无法找到cv命名空间或opencv库
答案 0 :(得分:4)
编译时未指定OpenCV库。 使用此命令:
g++ `pkg-config --cflags opencv` codename.cpp `pkg-config --libs opencv` -o codename
答案 1 :(得分:0)
您必须将库文件指定为链接器标志。
g ++ program.cpp -o program -lopencv_core -lopencv_highgui
对于此特定程序,只需要OpenCV的核心和 highgui 模块。随着程序中添加其他模块的功能,该列表将会增加。
答案 2 :(得分:0)
g++ -ggdb `pkg-config --cflags opencv` -o outResize *.cpp `pkg-config --libs opencv`
然后编译
./run