libvlc_new 始终返回 NULL

问题描述 投票:0回答:1

我尝试使 libvlc 的教程示例正常工作。 我通过

sudo apt install libvlc-dev
安装了 vlc SDK,并使用
-lvlc
链接到它。编译和链接完成,没有错误或警告,但每当我尝试初始化 VLC 并使用
libvlc_new
获取实例时,我都会得到
NULL
结果。

int
main(int argc, char *argv[argc])
{
  libvlc_instance_t *instance = libvlc_new(0, NULL);
  if (instance == NULL) {
    fprintf(stderr, "Unable to get VLC instance.\n\t%s\n", libvlc_errmsg());
    return EXIT_FAILURE;
  }

  // ... usage of libvlc_media etc., but the program never reaches that point.
}

每当我执行二进制文件时,我都会得到结果:

$ ./vlc_test some_test_file.mp3
Unable to get VLC instance.
    (null)

我的编译选项是:

$ gcc -c main.c -o main.o
$ gcc main.o -o vlc_test -lvlc

我缺少什么才能让 libvlc 工作?

c libvlc
1个回答
0
投票

这个问题现在已经相当老了,但我必须深入挖掘才能找到问题的答案,那就是我需要将环境变量

VLC_PLUGIN_PATH
设置为我链接的VLC版本的
plugins
文件夹路径.

所以就我而言(在 Mac 上编译):

VLC_PLUGIN_PATH=/Applications/VLC.app/Contents/MacOS/plugins

我希望这可以帮助那些努力运行最基本的 libvlc 示例的人。

© www.soinside.com 2019 - 2024. All rights reserved.