【问题标题】:Error Compiling a basic openCV program编译基本 openCV 程序时出错
【发布时间】:2014-04-15 02:17:42
【问题描述】:

我按照下面提到的链接安装了 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"

【问题讨论】:

    标签: c++ opencv pkg-config


    【解决方案1】:

    似乎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}
    

    【讨论】:

    • 嘿@Lawrence,它处理了上述错误,但现在它抛出了一个新错误:openCVtest.cpp:1:39: 致命错误:opencv2/highgui/highgui.hpp: No such file or目录 #include "opencv2/highgui/highgui.hpp" 我查了 /usr/include/opencv2 文件夹 highgui 根本不存在??这是正常的吗?安装后我是否应该缺少基本头文件..
    • 嘿@Lawrence,那个帖子里的那个人有窗户,我想我需要进一步看看..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-21
    • 2012-01-13
    • 2011-10-14
    • 2013-04-13
    • 2012-03-28
    • 1970-01-01
    相关资源
    最近更新 更多