gpt4 book ai didi

c++ - 编译基本的 openCV 程序时出错

转载 作者:行者123 更新时间:2023-11-28 06:56:38 25 4
gpt4 key购买 nike

我按照下面提到的链接安装了 openCV: https://help.ubuntu.com/community/OpenCV#aStep_1

安装很顺利,现在当我编译我的测试程序时:使用以下命令:

opencv openCVtest.cpp

它抛出以下错误:

compiling openCVtest.cpp
g++: error: missing argument to ‘-l’
Output file => openCVtest

我查找了我用来编译的脚本(它给出了 here)并看到将用于编译我的 C++ 代码的这一行:

g++ -ggdb `pkg-config --cflags opencv` -o `basename $1 .cpp` $1 `pkg-config --libs opencv`;

我知道“-l”要求一些库,但我认为除了我的代码之外我不应该将任何东西传递给这个脚本。

PS 这里是该行中执行内容的详细信息:

hduser@ishan-Notebook-PC:~/Documents/OpenCv$ echo g++ -ggdb `pkg-config --cflags opencv` -o `basename opencvtest.cpp .cpp` opencvtest.cpp `pkg-config --libs opencv`

g++ -ggdb -I/usr/include/opencv -I/usr/include/opencv2 -o opencvtest opencvtest.cpp -lopencv_calib3d -lopencv_imgproc -lopencv_contrib -lopencv_legacy -l

你们能帮我弄清楚,我到底做错了什么吗?谢谢 !

更新

我发现我的 opencv.pc 文件包含一个额外的“-l”我删除了那个标志并且上面的错误消失了:

opencv.pc 文件内容:

prefix=/usr
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib

Name: opencv
Description: The opencv library
Version: 2.x.x
Cflags: -I${includedir}/opencv -I${includedir}/opencv2
Libs: -L${libdir} -lopencv_calib3d -lopencv_imgproc -lopencv_contrib -lopencv_legacy -l

注意最后一行多余的"-l"

但是,现在我收到以下错误:

openCVtest.cpp:1:39: fatal error: opencv2/highgui/highgui.hpp: No such file or directory
#include "opencv2/highgui/highgui.hpp"

最佳答案

似乎 pkg-config 在最后返回了一个额外的 -l。您可以尝试在没有它的情况下手动运行命令:

g++ -ggdb -I/usr/include/opencv -I/usr/include/opencv2 -o opencvtest opencvtest.cpp -lopencv_calib3d -lopencv_imgproc -lopencv_contrib -lopencv_legacy

更新:
对于您遇到的第二个问题,请尝试使用没有 opencvopencv2 目录的包含路径。

所以不是这个:

Cflags: -I${includedir}/opencv -I${includedir}/opencv2

试试这个:

Cflags: -I${includedir}

关于c++ - 编译基本的 openCV 程序时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23073573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com