在OpenCV中编译程序

在OpenCV中编译程序,opencv,Opencv,我刚开始使用OpenCV,我一直无法在上面运行示例代码 我制作了一个.cpp文件并复制/粘贴了代码 我在命令行上运行了以下命令: g++程序.cpp-o程序 我得到了以下错误: 对“cv::imread(cv::String const&,int)”的未定义引用 program.cpp:(.text+0x128):对的未定义引用 `cv::namedWindow(cv::String const&,int)' program.cpp:(.text+0x17d):对的未定义引用 `cv::imsh

我刚开始使用OpenCV,我一直无法在上面运行示例代码

我制作了一个
.cpp
文件并复制/粘贴了代码

我在命令行上运行了以下命令:

g++程序.cpp-o程序

我得到了以下错误:

对“cv::imread(cv::String const&,int)”的未定义引用

program.cpp:(.text+0x128):对的未定义引用 `cv::namedWindow(cv::String const&,int)'

program.cpp:(.text+0x17d):对的未定义引用 `cv::imshow(cv::字符串常量&,cv:_InputArray常量&)'

program.cpp:(.text+0x1a5):对“cv::waitKey(int)”的未定义引用

/tmp/cceJEar6.o:在函数“cv::String::String(char const*)”中:

program.cpp:(.text._ZN2cv6StringC2EPKc[_ZN2cv6StringC5EPKc]+0x4d): 对“cv::String::allocate(无符号长)”的未定义引用


在找不到cv命名空间或opencv库的情况下,这似乎是一个链接问题

编译时未指定opencv库。 使用此命令:

g++ `pkg-config --cflags opencv` codename.cpp `pkg-config --libs opencv` -o codename

编译时您尚未指定OpenCV库。 使用此命令:

g++ `pkg-config --cflags opencv` codename.cpp `pkg-config --libs opencv` -o codename

必须将库文件指定为链接器标志

g++program.cpp-o程序-lopencv_核心-lopencv_highgui


对于这个特定的程序,只需要OpenCV的核心高GUI模块。当程序中添加其他模块的功能时,列表将增加。

必须将库文件指定为链接器标志

g++ -ggdb `pkg-config --cflags opencv` -o outResize *.cpp `pkg-config --libs opencv`
g++program.cpp-o程序-lopencv_核心-lopencv_highgui

对于这个特定的程序,只需要OpenCV的核心高GUI模块。随着程序中添加其他模块的功能,该列表将增加

g++ -ggdb `pkg-config --cflags opencv` -o outResize *.cpp `pkg-config --libs opencv`

然后编译
/run


然后编译
/run