[X264] MinGW编译x264,VC中调用libx264.dll-------------<参考转>
1. 下载并按照MinGW,最好就缺省按照
http://sourceforge.net/projects/ ... ler/mingw-get-inst/
把C:\MinGW\bin添加到PATH中 (dos命令行 PATH %PATH%;新目录;)
2. 下载nasm,
http://www.nasm.us/pub/nasm/releasebuilds/
解压后把nasm.exe拷贝到C:\MinGW\bin中
3. 下载最新的x264
http://www.videolan.org/developers/x264.html
4. 运行C:\MinGW\msys\1.0\msys.bat,启动MinGW,cd到x264目录
5../configure
./make
将会生成x264.exe 和 libx264.a。x264.exe可以进行编码。
./configure --enable-shared
./make
将会生成libx264-152.dll, -152是我下载x264的版本号,这个有可能不一样的。
6. 安装pexports
在C:\MinGW\bin看看有没有pexports.exe, 如果没有
mingw-get install pexports
7. dll to def
pexports.exe libx264-152.dll > libx264-152.def
将dll里面所有的函数名提取出来
8. to lib
在..\VC\bin目录下有lib.exe文件,但一般都不能直接运行,少了一些dll.
拷贝Common7\IDE 里面的mspdb80.dll,mspdbcore.dll,mspdbsrv.exe,msobj80.dll复制到上面的bin文件。(vs2013 应该是120 ,而且也不用拷贝这些)
添加..\VC\bin目录到PATH。
lib.exe /machine:ix86 /def:libx264-152.def
生成libx264-152.lib。.lib文件是为了给linker用,这样可以方便的静态调用libx264-152.dll。
编译时不用.dll,运行的时候才用到。
9. 测试libx264-152.dll
9.1 新建一个空工程;
9.2 新建一个.cpp文件,复制一下内容
#include <stdio.h>
#include "stdint.h"
#pragma comment(lib,"libx264-152.lib") // 静态调用
extern "C"
{
#include "x264.h"
};
int main(void) {
printf("libx264-version:%d\n", X264_BUILD);
x264_param_t param;
x264_param_default(¶m);
return 0;
}
“stdint.h”会有问题,在网上搜一下吧。
9.3 拷贝x264目录下的 x264.h, x264_config.h。
9.4 拷贝libx264-152.lib到此工程目录下。
9.5 拷贝libx264-152.dll到该工程输出目录下(Debug 或者Release目录)。
应该就可以用了,试试吧。
-------------------------------------------------------------------------------------------------------
http://blog.csdn.net/huibailingyu/article/details/40835825
[X264] MinGW编译x264,VC中调用libx264.dll-------------<参考转>的更多相关文章
- [转]VC中调用外部exe程序方式
本文转自:http://blog.sina.com.cn/s/blog_486285690100ljwu.html 目前知道三种方式:WinExec,ShellExecute ,CreateProce ...
- VC中调用COM组件的方法(转载)
原文参考:http://hi.baidu.com/mingyueye/item/53ebecd44da76917d80e4449 总结一下在VC中调用COM组件的方法 准备及条件: COM服务器为进程 ...
- vc中调用Com组件的方法详解
vc中调用Com组件的方法详解 转载自:网络,来源未知,如有知晓者请告知我.需求:1.创建myCom.dll,该COM只有一个组件,两个接口: IGetRes--方法Hello(), IGet ...
- VC中不同类型DLL及区别
1. DLL的概念可以向程序提供一些函数.变量或类. 静态链接库与动态链接库的区别:(1)静态链接库与动态链接库都是共享代码的方式.静态链接库把最后的指令都包含在最终生成的EXE文件中了:动态链接库不 ...
- 在.net中调用Delphi dll的Pchar转换
Pchar是非托管代码,要在.net中调用Delphi dll中的功能,请使用MarshalAs属性告知.net调用PInvoke去转换.net中标准的string类型.如果Delphi dll是De ...
- Native Application 开发详解(直接在程序中调用 ntdll.dll 中的 Native API,有内存小、速度快、安全、API丰富等8大优点)
文章目录: 1. 引子: 2. Native Application Demo 展示: 3. Native Application 简介: 4. Native Ap ...
- 在SQL Server 2008中调用.net,dll
原文:在SQL Server 2008中调用.net,dll T-SQL的在执行普通的查询的时候是很高效的,但是在执行循环,判断这样的语句的时候效率就不那么的高了.这时可以借助CLR了,我们可以在SQ ...
- SOE 中调用第三方dll
一.简介 在利用soe实现server的扩展的时候,有些时候,需要调用第三方的dll库.官网中给出了明确的说明,soe中是可以添加第三方的dll文件,但是一直没有测试.按照官方的步骤应该是一个非常的简 ...
- 在Windows中使用MinGW编译X264
转自:http://www.cnblogs.com/xiongjiaji/archive/2012/06/08/2541265.html 参考:http://ayobamiadewole.com/Bl ...
随机推荐
- 创建对象并生成结果的3个步骤-Chapter 3 P38
必须完成3个步骤才能创建对象并生成结果: 1 创建对象 namespace LanguageFeatures { public class Product { public int Product ...
- 如果从excel表中导出insert-sql
=CONCATENATE("INSERT INTO p_act_lottery(actId,status,grantWay,createTime,invalidTime,amount,pri ...
- Xcode8出现问题总结
上点干货,目前得知的一些bug解决汇总:iOS10相册相机闪退bughttp://www.jianshu.com/p/5085430b029fiOS 10 因苹果健康导致闪退 crashhttp:// ...
- link @import区别 src href的区别
先说页面引入css的四种方式吧 1 在头部写在style里面 2 行内样式 tyle= 3 外部引入 link和@import的区别 link属于XHTML的标签,而@import只是css提供的一种 ...
- 记c#中构造函数中this的用法
今天谈及这个话题,是因为在看别人代码,遇到的.本着知其然还要知其所以然的精神,在网上大肆查找了一遍.得到了一些答案.并在此做一个简单的笔记,以便自己和他人以后查找,与我一同成长进步. 在C#中this ...
- bzoj1176
题解: 和上一题差不多 就加上一个初始值 代码: #include<bits/stdc++.h> ; using namespace std; int n,m,cnt,s,sum[N],a ...
- mmap实现大文件快速拷贝
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- 条件查询、SQL、JPQL、HQL比较
一.什么是JPQL 在 Java EE 中,JPQL( Java 持久性查询语言)是专门为Java 应用程序访问和导航实体实例设计的.JPQL是EJB2使用的查询语言EJB QL的扩展,它继承了EJB ...
- L173
Technical problems temporarily blocked some US and European users having access to their accounts an ...
- DELL E7240超极本
一.图片展示 1.整体图 2.扩展坞的后卡槽附带挡板 3.电源线 4.边框指示灯 5.平躺展示摄像头 二.参数配置 1.i5的 2.i7的 3.手写 处理器:英特尔四代处理器 i7-4600U双 ...