Linux下x264的编译,调试

参考了https://blog.csdn.net/wzxsjdt/article/details/41693025,感谢博主的分享

需要源材料:codeblock,x264代码包,汇编解释器yasm

1. x264下载:http://www.videolan.org/developers/x264.html

2. yasm:http://yasm.tortall.net/Download.html,yasm解压文件夹下需要make

./configure
make
sudo make install

 3. codeblock下建立x264工程:

3.1 打开Code::Blocks,File->New->Project->Empty Progect,输入名称路径x。路径和264的路径一致,比如下图,然后一直next,finished。

3.2 接下来开始配置工程,右键工程->Properties,补完Makefile的路径,选上“This is a customer file”

3.3 再次右键工程进入Properties,点击右下角Project's build option,在Make commands选项卡中把所有$target去掉,确定。

3.4 右键工程->Build Option->Make commands,去掉所有$target,确定。

4. Build->Build,或者ctrl+F9,编译x264,0 errors, 0warnings,在x264文件夹下生成x264可执行文件和一些过程文件

5. Debug

首先在x264.c的main函数里加几个断点。
Debug->Start/Continue,出现错误:没有符号表被读取。请使用 "file" 命令。
这是由于x264可执行文件路径错误造成的,一般code blocks工程默认的编译路径是在bin/debug/x264,而我们是用Makefile编译的,x264文件就在当前目录下,gdb自然找不到文件了。解决的方法有两种:修改Makefile和修改codeBlocks的默认路径。因为Makefile是源码自带的,所以我选择修改codeBlocks。
右键工程->Properties->Buildtargets,在output filename里把路径改成当前文件夹,确定。

6. Debug->Start/Continue,再次出错:no debugging symbols found 。
这是因为在x264可执行文件中没有调试符号,这也是Debug版和Release版的区别,因为codeBlocks是根据Makefile编译的,所以要想加入调试信息就必须修改Makefile的配置。运行终端。在x264目录下执行:

./configure --enable-debug

之后会重新生成Makefile文件,Rebuild工程,Debug->Start,接下来就可以Next Line了。

7. 配置命令行参数

x264 --output /dev/null --input-res 416x240 ~/BasketballPass_416x240_50.yuv

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值