ubuntu下调试ffmpeg程序出现undefined reference to pthread_once ,undefined reference to uncompress错误

Ubuntu(版本16.04)下默认配置编译Ffmpeg(版本4.1.3configure 添加选项--enable-threads),将编译好的ffmpeg库添加到程序

中进行编译出现undefined reference to pthread_once ,undefined reference  to uncompress 等错误,提版本示pthread_once

未定义原因是编译链接时找不到pthread_one。解决的方法是安装pthread并将它链接到程序。具体安装的命令是:

sudo apt-get install manpages-posix manpages-posix-dev

安装后pthread动态库所在的路径为/usr/lib/x86_64-linux-gnu

undefined reference  to uncompress 错误的原因是缺少zlib库或者zlib库未链接到程序中。

如需交流可加QQ群766718184 或者QQ3501870

原文地址:https://www.cnblogs.com/wanggang123/p/10848210.html

时间: 2024-11-14 12:47:37

ubuntu下调试ffmpeg程序出现undefined reference to pthread_once ,undefined reference to uncompress错误的相关文章

ubuntu下编译java程序

ubuntu下编译java程序 首先需要安装jdk,并配置好相应环境变量 下面以简单的HelloWorld为例 文件名为HelloWorld.java java代码: public class HelloWorld { public static void main(String args[]) { System.out.println("Hello World!"); } } 编译: javac HelloWorld.java 此时会在当前文件夹生成 HelloWorld.class

Ubuntu下安装ffmpeg

Ubuntu下安装ffmpeg可以通过以下命令安装: >sudo apt-get install libav-tools

Ubuntu下删除卸载程序图标

Ubuntu下删除卸载程序图标 方法一:直接在终端输入命令alacarte.可以任意增.改.隐藏.显示菜单,但无法删除菜单,即使拥有root权限. 方法二:注意几个目录和文件./usr/share/applications/下的desktop文件/usr/share/applications/mimeinfo.cache文件~/.local/share/applications下的desktop文件~/.local/share/applications/default.list目录下的文件~/.

Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法

Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法 最近由于老师要求要在Ubuntu下QT上进程多线程服务器的开发,虽然只是单纯的调用qt的network模块,但是为了避免麻烦,我还是很操蛋的在QT下写控制台程序了,但是写完程序后运行时出现了如下情况. 程序运行了,但是控制台中居然只有一个光标在那儿跳啊跳.由于百度的姿势不对,废了好多时间,终于明白是因为qt creator不支持Gnome默认的终端gnome-terminal. 所以要换成XTerm的控制台. 具体的解决方式

mongodb在ubuntu下的couldn‘t remove fs lock errno:9 Bad file descriptor的错误

按照官网上的安装方法: 在ubuntu系统下有可能出现如下错误: couldn't remove fs lock errno:9 Bad file descriptor 此时需要修改文件所有者 $ sudo mkdir -p /data/db/ $ sudo chown ’USERNAME‘ /data/db 其中第一句是建立你的数据库文件夹,第二句修改该文件夹的所有者 之后就可以成功启动mongodb了 参考:stackoverflow.com/questions/15229412/unabl

Ubuntu下连接mysql出现 ERROR 1698 (28000): Access denied for user 'root'@'localhost'错误解决方法

ubuntu版本:18.04    mysql版本:5.7.24 ubuntu安装mysql后用root账户登入会出现问题:ERROR 1698 (28000): Access denied for user 'root'@'localhost' 可能是因为初始密码为空:按空格回车后还是报一样的错 这样就只能使用debian-sys-maint账户修改root账户密码了. debian-sys-maint账户是安装mysql时系统自动生成的mysql用户,debian和ubuntu系统都会这样做

如何使用加多宝(jdb)在linux下调试Java程序

毕业时写了一段时间的C,那时候调试使用gdb,后来转了java,当时就想java程序怎么调试,找了一下,果然,那就是jdk自带的jdb windows里是这样的 Linux下是这样的 一般我在linux下来调试Java程序 好,那么,问题来了,这玩意怎么用?有好几种玩法 第一种玩法:以经典的HelloWorld为例,先写一个Java程序,如下: 我们把编译好的类上传到linux下,如下所示 务必强调一下:类所在的包名的层次结构也要在linux下体现出来 下面我们来玩起来,在linux下操作如下

ubuntu下编译ffmpeg并用eclipse调试

一.下载ffnpeg源码 下载地址:http://ffmpeg.org/download.html 二.解决版本问题 可能之前你编译过ffmpeg,或者装过相关的库,那都要先卸载掉,否则用的时候会报一堆版本的错误. 卸载的具体做法: sudo apt-get remove ffmpeg sudo apt-get remove libavcodec52 libavdevice52 libavfilter0 libavformat52 libavutil49 libpostproc sudo apt

ubuntu下C语言程序的开发(二)——gcc的使用

gcc编译c语言的过程经历一下步骤 预处理:分析各种命令,比如 #define.#include等.gcc通过调用 cpp 程序来进行预处理工作. 编译:根据输入文件产生汇编语言,由于一般是立即调用汇编程序,所以其输出一般不保存在文件中.gcc调用 ccl 进行编译工作. 汇编:将汇编语言用作输入,产生 .o 扩展名的目标文件.gcc调用 as 进行汇编工作. 链接:各个目标文件被放在可执行文件的适当位置上,该程序引用的函数也放在可执行文件中.gcc调用链接程序 ld 来完成最终的任务. gcc