在windows下编译x264
最近因为各种原因,对流媒体的学习,突然中断在了编码这块。今天难得静下心来,从新拿起了代码。
对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' washere BOOL WINAPI DllMain(HINSTANCE, DWORD, LPVOID); ^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;
于是整个编译过程完成。。。
在windows下编译x264的更多相关文章
- (转)windows下编译最新的x264
二:<windows下编译最新的x264> X264更新的比较快,每天都有更新,但算法模块,基本结构是没有多大变化的.x264都是用C语言写的包括C99,但C99语法是在VC中是没法用的( ...
- 在Windows下编译FFmpeg详细说明
MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 MinGW,即 Minimalist GNU F ...
- Windows下编译安装 FFmpeg
在Linux/Mac下编译 ffmpeg是非常方便的.但要在 Windows下编译 ffmpeg还真要花点时间.以下就是在 Windowns下编译ffmpeg的步骤: 一.安装Cygwin 在wind ...
- Windows下编译vpx获得各个项目VS2010解决方案的步骤
最近研究了一下几种常见的视频编码器:x264,x265,vpx.本文简单记录一下它们的编译方法. x264,x265,vpx这三个开源的视频编码器可以说是当今“最火”的视频编码器.x264现在占据着H ...
- [转] Windows下编译OpenSSL
简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...
- Windows下编译objective-C
Windows下编译objective-C 2011-08-31 14:32 630人阅读 评论(0) 收藏 举报 windowscocoa工具objective clibraryxcode 目录 ...
- 如何在WINDOWS下编译BOOST C++库 .
如何在WINDOWS下编译BOOST C++库 cheungmine 2008-6-25 写出来,怕自己以后忘记了,也为初学者参考.使用VC8.0和boost1.35.0. 1)下载boost ...
- 在Windows下编译OpenSSL(VS2005和VC6)
需要说明的是请一定安装openssl-0.9.8a . openssl-1.0.0我没有编译成功. 如何在Windows下编译OpenSSL (Vs2005使用Vc8的cl编译器)1.安装Activ ...
- windows下编译java源文件的编码错误
import java.util.Arrays;public class ArrayAsAReference{ public static void main(String[] args) { int ...
随机推荐
- MyBatis generator 使用方式 小结
1. 配置到 maven 中pom.xml 中 2. 手动运行 脚本文件 3. 基于 web 项目 http://git.oschina.net/redArmy/springboot-gener ...
- python标准库介绍——3 stat 模块详解
== stat 模块 == [Example 1-50 #eg-1-50] 展示了 ``stat`` 模块的基本用法, 这个模块包含了一些 ``os.stat`` 函数中可用的常量和测试函数. === ...
- Oracle学习笔记之五sp1,PL/SQL之BULK COLLECT
Bulk Collect特性可以让我们在PL/SQL中能使用批查询,批查询在某些情况下能显著提高查询效率. BULK COLLECT 子句会批量检索结果,即一次性将结果集绑定到一个集合变量中,并从SQ ...
- jQuery判断复选框是否勾选
一个功能复选框勾选时给input表单赋值,复选框取消时将表单值清除. 功能:复选框勾选时给input表单赋值,复选框取消时将表单值清除. 实现源码:cyfID为复选框的id $("#cyfI ...
- DDOS与DDOS追踪的介绍
我很早前研究anti-DDOS,其中就有追踪一块,可以在这里介绍一些,但是实际上只有很少技术被投入使用了,大多数都还是依然是实验室的东西,已经投入实用的我单独提出来. 追踪技术有: ·链级测试 (Li ...
- 从JDBC程序看为什么需要Mybatis
package com.xuebusi.jdbc; import java.sql.*; /** * 从JDBC程序看为什么需要Mybatis * * 1.加载驱动程序和数据库连接所需要的url.用户 ...
- 计时器,主要讲了setInterval()和Date()方法
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 人工智能时代,应立即学习python
人工智能时代,应立即学习python 应用:web开发,自动化运维开发,自动化测试,数据分析,机器学习 1.python 快速易学习2.python 基于web开发(zhihu:tornad web框 ...
- Java web 项目读取src或者tomcat下class文件夹下的xml文件或者properties文件
//生成一个文件对象: File file = new File(getClass().getClassLoader().getResource("test.xml").getPa ...
- C语言 · 完美的代价
基础练习 完美的代价 时间限制:1.0s 内存限制:512.0MB 锦囊1 使用贪心算法. 锦囊2 从左到右枚举每个字符,移动对应字符.个数为单的字符放中间. 问题描述 回文 ...