- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我已经在我的 Raspberry Pi 上的 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 header 放入 usr/include/vlc 之后)错误似乎发生在链接阶段,我得到了这两个错误;
/usr/bin/ld: cannot find -lvlc
/usr/bin/ld: cannot find -lsdl1.2-dev
我对 Linux 有点陌生,我不明白为什么它找不到它们。我也不确定默认情况下它们安装在哪里,它们似乎有几个不同的位置。
最佳答案
使用 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)
包名 sdl
和 libvlc
对应于安装在 /usr/lib/pkgconfig< 中的
。如果不存在这样的文件,则意味着您忘记安装 sdl 和 vlc 库的 *.pc
文件-dev
版本。因此,请检查是否有您需要安装的 libvlc-dev
包。使用这个:
apt-cache search vlc | grep dev
查看是否有您需要的 libvlc 开发包。
关于c++ - 如何在 Raspbian C++ 项目上使用 "include"libvlc 和 sdl1.2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55467032/
我是一名优秀的程序员,十分优秀!