最近因为各种原因,对流媒体的学习,突然中断在了编码这块。今天难得静下心来,从新拿起了代码。

对encode这边,因为之前虽然也接触了,也找了两个例子,但目前还没真正开始,所以先从编译x264这个库开始吧。

找到之前下载的x264源码库(x264-snapshot-20130922-2245),然后将源码复制到D:\msys\1.0\home\x264-20130922目录下。

接着按照网上的教程,首先运行MINGW,然后切换到X264源码路径下;

再然后输入:

$ ./configure --enable-shared

$ make

其中在make的时候,我这里出现了报错:

x264dll.c:30:13: error: conflicting types for 'DllMain'
 BOOL WINAPI DllMain( HANDLE hinstDLL, DWORD fdwReason, LPVOID lpvReserved )
             ^
In file included from c:\mingw\include\windows.h:62:0,
                 from common/win32thread.h:29,
                 from common/osdep.h:207,
                 from common/common.h:117,
                 from x264dll.c:26:
c:\mingw\include\winbase.h:1051:13: note: previous declaration of 'DllMain' was
here
 BOOL WINAPI DllMain(HINSTANCEDWORDLPVOID);
             ^
make: *** [x264dll.o] Error 1

然后我百度了下,在CSDN论坛中出现了跟我一样的问题,有人发帖描述如下:

http://bbs.csdn.net/topics/390624451?page=1

然后我根据他们的提示,修改了D:\MinGW\include\winbase.h文件;修改如下:

//BOOL WINAPI DllMain(HINSTANCE, DWORD, LPVOID);//default  modefy by lhp-20141114 for built x264

即屏蔽了这句话,然后在继续make,结果就没出现错误了,顺利成功编译。

接着我执行:

$make install

于是就会在D:\msys\1.0\local\目录下生成了3个目录,分别为:bin,include,lib,这3个目录下的文件就是刚刚执行make install以后安装的。

接着我们要由dll-》lib文件,好在VS里面调用用;

于是我接下来,运行cmd,然后在cmd里面找到VS2010安装环境下的lib.exe,由它来生成lib,生成过程如下:

d:\Program Files\Microsoft Visual Studio 10.0\VC\bin>LIB /machine:x86 /def:d:\\l
ibx264-138.def /out:d:\\libx264-138.lib
Microsoft (R) Library Manager Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.

正在创建库 d:\\libx264-138.lib 和对象 d:\\libx264-138.exp

注意:

如果在生成期间出现缺少dll,就到vs安装环境下把相应的库拷贝到lib.exe目录下,就可以了,我这里拷贝的文件为:msobj100.dll,mspdb100.dll,mspdbcore.dll,mspdbsrv.exe;

于是整个编译过程完成。。。

最新文章

  1. latextools \cite 自动补全
  2. LeetCode Majority Element I && II
  3. XA事务处理
  4. Apache Spark GraphX的体系结构
  5. c# using 引用和别名的使用
  6. Excel数据复制到Winform控件ListView
  7. SASS type-of 函数
  8. Android 推断SD卡是否存在及容量查询
  9. SpringBoot 入门教程:集成mybatis,redis
  10. smarty缓存
  11. 关于vs code 快速生成vue 模板
  12. The last packet sent successfully to the server was 0 milliseconds ago.[nutch---mysql ]
  13. jquery easyui:tab自动加载第一个tab内容
  14. 收银台(POSBox) 配置向导
  15. Mysql优化_内置profiling性能分析工具
  16. [转]MVC Html.AntiForgeryToken() 防止CSRF攻击
  17. 【PAT】1028. List Sorting (25)
  18. hadoop2.6.0集群配置
  19. MyBatis和Hibernate相比较
  20. python爬虫之urllib库(一)

热门文章

  1. [转]Microsoft Office 2010、Visio 2010、Project 2010官方中文版+有效激活方法
  2. django中models阅读笔记
  3. Python之反射练习
  4. verilog 条件编译命令`ifdef、`else、`endif 的应用
  5. ise和modelsim联合仿真的一些准备
  6. 【Android】16.4 IntentService类
  7. Vmware-虚拟机中ubuntu不能联网问题的解决——NAT方式
  8. Artificial-Intelligence BOOKs与算法
  9. 利用 FormData 对象发送 Key/Value 对的异步请求
  10. mysql too many max_connections