Qt 5 和 LibVLC

Qt 5 and LibVLC

我正在从事一个涉及接收、显示和转播多个本地网络视频流的项目。 LibVLC 似乎是要走的路,我想在 Qt Creator/C++/OSX 10.12.1 中使用它,我还需要该项目可以在某些 Windows 上编译我安装了 Qt 的 10 台机器。

我通过安装来自 projects.tano.si/vlc-qt 的官方 QT-LibVLC 包装器成功测试了一些功能。不幸的是,包装器缺少许多对我的项目必不可少的 LibVLC 方法,因此我决定安装完整的 LibVLC。

现在我一直在研究如何使 LibVLC 工作。 我遵循了 https://wiki.videolan.org/OSXCompile/#Apple_Software 的所有指示 安装和库构建,一切顺利。

然后我在QT中开始了一个新项目,尝试添加 INCLUDEPATH += 。 vlc 和 LIBS +=-lvlc 路径到 Qt 中的 .pro 文件,但它不起作用。此外,将路径添加到 VLC 构建文件夹的 "Framework" 文件夹也不起作用。

有谁知道这个魔术是怎么来的吗? 对不起,我知道我有点天真,但仅此而已...... 预先感谢您的任何回答!

更新:

感谢 eyllanesc 的建议,此结构现在适用于编译器:

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = testVLC
TEMPLATE = app

DEFINES += QT_DEPRECATED_WARNINGS

SOURCES += \
player.cpp \
main.cpp

HEADERS += \
player.h


macx: LIBS += -L$$PWD/../../../../Users/macbookpro15retina/Documents/vlc/build/vlc_install_dir/lib/ -lvlc.5

INCLUDEPATH += $$PWD/../../../../Users/macbookpro15retina/Documents/vlc/build/vlc_install_dir/include
DEPENDPATH += $$PWD/../../../../Users/macbookpro15retina/Documents/vlc/build/vlc_install_dir/include

很遗憾,应用程序已启动,但 VLC 实例未初始化。看来我的VLC安装有问题。

已解决:

经过一些调整后,项目编译并正确启动。 我不明白为什么,但是必须在实例化 VLC 之前设置环境变量 VLC_PLUGIN_PATH,否则 VLC 拒绝初始化:

//set environment variable VLC_PLUGIN_PATH
int s = setenv ("VLC_PLUGIN_PATH",  "/Users/macbookpro15retina/Documents/vlc/build/vlc_install_dir/lib/vlc/plugins", 1);

// Initialize libVLC 
vlcInstance = libvlc_new(0, NULL);

实际上如果在QtCreator的Build Environment中设置它根本不起作用

为我们的应用程序添加库的一种简单方法是借助 Qt Creator,它有一个助手,只需右键单击您的项目名称即可使用它:

然后 select Add Library 选项。

然后小助手打开:

和select导入的类型,在你的情况下建议使用External Library

然后您查找项目的位置并接受。

注意:在 Linux 中,可以使用快捷方式 Ctrl + E

打开此工具