[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 ...
随机推荐
- Android将图片保存到相册并及时看到
Android中将图片保存到SD卡中,相册里不会及时出现这张图片,因为没有及时更新其索引,一般需要开机几次.当然我们可以手动更新其索引. 1,首先将文件保存到SD卡中. String filePath ...
- bzoj4811
题解: 对于每一个节点,我们建立v0,v1 v0表示0进过会怎么样 v1表示1进过会怎么样 然后线段树合并 代码: #include <cstdio> #include <cstri ...
- PLSQL 触发器
触发器权限 数据库创建用户时想要在本用户下使用触发器,需要给用户触发器的权限 使用DBA用户执行 GRANT CREATE TRIGGER TO user_name; 如果想在当前用户下创建其他用户 ...
- 【转】HTTP协议—— 简单认识TCP/IP协议
转自:www.cnblogs.com/roverliang/p/5176456.html 大学没读计算机专业,所以很多的专业知识都不知道.既然已经从事了IT这个行业,就势必要去了解下网络底层,虽然实际 ...
- linux提权辅助工具(一):linux-exploit-suggester.sh
来自:https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh ...
- [QT][SQLITE]学习记录一 querry 查询
使用 QSqlQuery query ; query("SELECT id FROM TABLE1 WHERE id = '2017'); 的到的结果集就是query本身,此时需要使用 qu ...
- Ambiguous reference to member 'dataTask(with:completionHandle:)'错误
在研究IOS的网络请求过程中,因为NSURLConnection已经过时,需要引用到URLSession var url:NSURL=NSURL(string: "http://3g.163 ...
- 《DSP using MATLAB》示例 Example 10.2
代码: %% ------------------------------------------------------------------------ %% Output Info about ...
- 转 HTTP.SYS 详解
http.sys 是一个位于Win2003和WinXP SP2中的操作系统核心组件, 能够让任何应用程序通过它提供的接口,以http协议进行信息通讯. 温馨提示:如果用户不慎删除了该驱动文件,不用担心 ...
- 结构化日志类库 ---- Serilog库
在过去的几年中,结构化日志已经大受欢迎.而Serilog是 .NET 中最著名的结构化日志类库 ,我们提供了这份的精简指南来帮助你快速了解并运用它. 0. 内容 设定目标 认识Serilog 事件和级 ...