如何在Raspbian C ++项目上“包含” libvlc和sdl1.2?

时间:2019-04-02 04:37:07

标签: c++ linux raspbian libvlc sdl-1.2

我已经在Raspberry Pi的Raspbian中安装了“ libsdl1.2-dev”和“ libvlc”(使用sudo apt-get install blah),我正在使用gcc编译来自https://wiki.videolan.org/LibVLC_SampleCode_SDL/的示例项目/ p>

这是我的编译命令:

gcc -fpermissive test.cpp -lvlc -lsdl1.2-dev -o test

似乎可以编译(在我添加了-fpermissive并将vlc标头手动放置在usr / include / vlc之后),该错误似乎在链接阶段发生,我得到了这两个错误;

/usr/bin/ld: cannot find -lvlc
/usr/bin/ld: cannot find -lsdl1.2-dev

我对Linux有点陌生,我不知道为什么它找不到它们。我也不确定默认情况下将它们安装在哪里,它们可能存在几个不同的位置。

3 个答案:

答案 0 :(得分:2)

使用pkg-config获取所需的编译和链接标志。 pkg-config --cflags sdl libvlc将打印所需的编译标志,并pkg-config --libs sdl libvlc打印所需的链接标志。您可以使用外壳程序的$()功能将pkg-config的输出直接嵌入到您的编译命令中。另外,使用g++编译和链接C ++代码。 gcc用于C代码。

g++ $(pkg-config --cflags sdl libvlc) -fpermissive test.cpp -o test $(pkg-config --libs sdl libvlc)

程序包名称sdllibvlc对应于*.pc中安装的/usr/lib/pkgconfig文件。如果没有这样的文件,则意味着您忘记安装sdl和vlc库的-dev版本。因此,请检查是否需要安装libvlc-dev软件包。使用这个:

apt-cache search vlc | grep dev

查看您是否需要libvlc的开发包。

答案 1 :(得分:1)

要安装库和头文件,请尝试sudo apt-get install libvlc-dev,这应将所有从属库安装在正确的库路径中。 sudo apt-get install vlc用于安装不需要的应用程序。

答案 2 :(得分:0)

尝试O_CLOEXEC,您可能会缺少一些插件和东西