QT,对“alpr::Alpr::~Alpr()”的未定义引用

QT, undefined reference to `alpr::Alpr::~Alpr()'

提问人:ffttyy 提问时间:8/7/2017 最后编辑:ffttyy 更新时间:8/7/2017 访问量:630

问:

我正在尝试在QT上运行OpenALPR。我在这里安装了它。我可以从终端成功测试它。我在QT的标题中遇到了错误。 未定义的引用错误是由未链接的库引起的,但我在.pro文件的路径下添加了。为什么会出现该错误?libopenalpr.so/usr/lib

我的cpp文件:

#include "alpr.h"
int main()
{
    alpr::Alpr openalpr("us", "etc/openalpr/openalpr.conf");
}

我的专业文件:

QT += core
QT -= gui
TARGET = OpenAlprTry
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
LIBS += -L -lopenalpr
C++ Qt 未定义引用 openalpr

评论

0赞 Gabrielle de Grimouard 8/7/2017
使用 -lopenalpr true 在程序中添加 libopenalpr。但是,-L 选项(用于指示库的路径)没有参数。你应该做类似 -L /usr/lib -lopenalpr 的事情。

答:

0赞 Som 8/7/2017 #1

可以先检查openalpr库是否在库路径中吗?如果没有,请将库路径添加到 .pro 文件。

评论

0赞 ffttyy 8/7/2017
它位于 /usr/lib 下
0赞 Som 8/7/2017
尝试给 -L/usr/lib -lopenalpr
0赞 ffttyy 8/7/2017
成功了。我知道 usr/lib 是 QT 检查库的默认目录。为什么QT没有找到库?
0赞 Som 8/7/2017
您可以在此处找到有关它的更多信息,doc.qt.io/qtcreator/creator-project-qmake-libraries.html
3赞 Eligijus Pupeikis 8/7/2017 #2

你可以使用 pkg-config 来链接你想要的库。 添加到 .pro 文件:

unix: CONFIG += link_pkgconfig
unix: PKGCONFIG += openalpr

包名称可能不同,或者可能需要添加更多包。

要检查 pkg-config 名称,请在终端中键入:

pkg-config --list-all | grep openalpr

并添加这样的包

unix: PKGCONFIG += package1 package2 package3