2017-07-15 45 views
0

我正在研究一个涉及接收,显示和重播几个本地网络视频流的项目。 LibVLC似乎是要走的路,我想在Qt Creator/C++/OSX 10.12.1中使用它,并且我还需要在某些安装了Qt的Windows 10机器上编译项目。Qt 5和LibVLC:我怎样才能使它工作?

我成功通过安装来自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”文件夹不起作用。

任何人都知道如何魔术? 对不起,我知道我有点天真,但就是这样... 先谢谢您的任何答案!

UPDATE:

感谢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_PLUGIN_PATH必须被实例化VLC之前刚刚成立,否则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); 

其实它并不在所有的工作,如果你在Build设置QtCreator的环境。

+0

打开你可以展示你的项目的结构,也就是文件夹如何定位,其中库位于等 – eyllanesc

+1

为什么使用'INCLUDEPATH'中的'.vlc'?在'INCLUDEPATH'中,你必须放置.h文件的路径 – eyllanesc

+0

谢谢,现在我知道更多。我这样做只是因为它在我在VLC论坛上找到的示例代码中。 –

回答

3

一个简单的方法,包括库为我们的应用程序与Qt创建者的帮助下,这其中有一个助手,以便能够使用它,用鼠标右键单击您的项目名称:

enter image description here

然后选择Add Library选项。

enter image description here

然后打开助手:

enter image description here

并选择导入的类型,你的情况,建议使用External Library

enter image description here

那你看你的项目的位置和你接受。

注:在Linux中此工具可以使用快捷Ctrl + E

+0

正确,这也在我的项目OS X中工作。 –