2

我在树莓派上的 Raspbian 中安装了“libsdl1.2-dev”和“libvlc”(使用 sudo apt-get install blah),我正在使用 gcc 从https://wiki.videolan.org编译示例项目/LibVLC_SampleCode_SDL/

这是我的编译命令:

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 有点陌生,我不知道为什么它找不到它们。我也不确定默认情况下将它们安装在哪里,它们似乎有几个不同的位置。

4

3 回答 3

2

使用 pkg-config 获取所需的编译和链接标志。pkg-config --cflags sdl libvlc将打印所需的编译标志和pkg-config --libs sdl libvlc所需的链接标志。您可以使用$()shell 的特性将 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. 如果不存在此类文件,则意味着您忘记安装-devsdl 和 vlc 库的版本。所以检查是否有libvlc-dev你需要安装的包。用这个:

apt-cache search vlc | grep dev

看看是否有你需要的 libvlc 开发包。

于 2019-04-04T05:33:09.090 回答
1

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

于 2019-04-04T02:30:28.700 回答
0

试试看sudo apt-get install vlc,你可能缺少一些插件和东西

于 2019-04-02T09:01:10.320 回答