我在使用 ffmpeg 进行开发时遇到的编译错误
An compiling error I met when I use ffmpeg to develop
我使用此命令编译文件:
g++ rec.cpp -o rec -I /usr/local/include -L /usr/local/lib -lavformat -lavcodec -lavutil -lavdevice -lswscale -lasound -ldl -pthread -lz -lbz2 -lswresample -llzma -lva -lX11
执行后,我收到错误:
/usr/bin/ld: /usr/local/lib/libavdevice.a(xcbgrab.o): undefined reference to symbol 'xcb_setup_pixmap_formats_length'//usr/lib/x86_64-linux-gnu/libxcb.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
我该如何处理这个问题?
我找到了处理我的问题的方法。由于这绝对是一个库问题,因此您可以在编译之前检查需要多少个库。例如:
pkg-config --libs libavcodec libavformat libswscale libavutil libavdevice
然后它会告诉你:
-L/usr/local/lib -lavdevice -lm -lxcb -lxcb-shm -lxcb -lxcb-shape -lxcb -lxcb-xfixes -lxcb-render -lxcb-shape -lxcb -lasound -lavfilter -pthread -lm -lva -ldl -lswscale -lm -lavformat -lm -lbz2 -lz -lavcodec -pthread -lm -llzma -lz -lva -ldl -lswresample -lm -lavutil -pthread -lva -lva-drm -lva -lva-x11 -lX11 -lm -lva -ldl
这些库是您在编译时所需要的,然后完成编译。
您可能还需要pkg-config --cflags libavcodec libavformat libswscale libavutil libavdevice
才能添加CFLAGS或CXXFLAGS。
相关文章:
- 编译包含字符串的代码时遇到问题
- 在使用GPU支持编译Tensorflow时,会遇到CUDA_TOOLKIT_PATH未绑定变量
- 我在C++中遇到了这个奇怪的编译错误
- 编译 Cilk Plus 程序时遇到问题
- 如何解决我在 Ubuntu 19.04 下使用 GLFW 时遇到的这个编译问题?
- 我试图用c++编写递归fibonacci序列,但当我编译时,我遇到了一个错误
- 在 64 位 Linux armv8 计算机上编译 32 位二进制文件时遇到问题
- 为什么使用递归lambda时会遇到编译错误
- 布尔值是通过引用传递的,但我仍然在 cpp 中遇到编译错误
- 遇到内部编译错误时该怎么办
- 使用 bazel 从源代码构建张量流服务遇到错误:C++规则'@org_tensorflow//…'编译失败(出口 4)
- 为什么我在编译模板班时遇到困难
- 我在使用 ffmpeg 进行开发时遇到的编译错误
- 当 Mingw 为 C++ 编译 OpenCV 时,我遇到错误?
- 我在这个程序上遇到了麻烦.只有1个编译错误
- 当我编译并即将推动元素时,我会遇到细分错误
- 使用GCC编译某些软件包在静态上遇到了有关libprocps.a的错误
- 初学者C - 编译我的代码时遇到困难
- 为什么我会在此代码中遇到编译错误
- 为什么我在代码块中遇到编译错误,因为我使用的变量超出了范围?