将 opencv 库添加到 QT 创建者并出现错误:链接器命令失败,退出代码为 1

Posted

技术标签:

【中文标题】将 opencv 库添加到 QT 创建者并出现错误:链接器命令失败,退出代码为 1【英文标题】:Adding opencv library to QT creator and getting error: linker command failed with exit code 1 【发布时间】:2013-11-19 09:20:13 【问题描述】:

我是 qt 新手,我在我的 mac (os 10.8.5) 上安装了 qt 创建器,并想添加 openCv 库。我按照这个 youtube 教程 (http://www.youtube.com/watch?v=i9hYiMXLZRs) 的说明进行操作。不知道这是否重要。

我的 untitled5.pro 文件:

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = untitled5
TEMPLATE = app

INCLUDEPATH = /usr/local/include

SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h

LIBS += -L/usr/local/lib \
     -1ibopencv_core \
     -1ibopencv_imgproc \
     -1ibopencv_features2d \
     -1ibopencv_highgui

FORMS    += mainwindow.ui

和main.cpp:

#include "mainwindow.h"
#include <opencv/cv.h>
#include <opencv/highgui.h>
#include <QApplication>

int main(int argc, char *argv[])

    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    IplImage* img = 0;
    img = cvLoadImage("/Users/path/to/image.jpg");
    cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE);
    cvShowImage("Example1", img);
    cvWaitKey(0);
    cvReleaseImage(&img);
    cvDestroyWindow("Example1");

    return a.exec();

这只是一些测试库 opencv 的代码。 通过运行此代码,我得到两个错误:

linker command failed with exit code 1 (use -v to see invocation)
[untitled5.app/Contents/MacOS/untitled5] Error 1

我完全不知道该怎么做,花了几个小时寻找答案。也许有人可以帮助我。你能告诉我错误信息是什么,我做错了什么吗?

【问题讨论】:

1ibopencv 那是1(数字)吗?不应该是l(信)吗? 【参考方案1】:

检查您的库名称。在您的专业文件中,第一个字母是1(数字)而不是l

-libopencv_core \
-libopencv_imgproc \
-libopencv_features2d \
-libopencv_highgui

【讨论】:

哦,你是对的!我复制了这个文件,所以我没有注意到。非常感谢! 这些库的文件名是什么?尝试在-l 开关附近添加另一个l,例如:-llibopencv_core 有3个版本。当我转到 /usr/local/lib 时,我可以找到:libopencv_core.2.4.7.dylib、libopencv_core.2.4.dylib、libopencv_core.dylib。我需要编写 .dylib 吗? 好的,我明白了!我做错了两件事。首先:我将库名称从 lopencv_... 更改为 libopencv_... 因为我在路径的文件夹中找到了这个名称。但它必须只是 lopencv_...(比再次找到库)第二:我的程序崩溃了。我将图像路径更改为 .png 图像。现在它可以工作了。不知道是.jpg格式还是路径错误。

以上是关于将 opencv 库添加到 QT 创建者并出现错误:链接器命令失败,退出代码为 1的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV2.4.9 Qt5.3.1 开发环境配置错误原因与解决方案

OpenCV2.4.9 With Qt5.3.1 开发环境配置问题解决篇

Qt执行Cmake时Cmake出现这种情况时为啥

Visual Studio 2013 控制台应用程序中的 Qt 和 opencv

Qt中添加OpenCV库

使用 OpenCV 库(ubuntu)编译错误 Qt Creator