[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 ...
随机推荐
- HTML <select> 标签
定义和用法 select 元素可创建单选或多选菜单. <select&> 元素中的 <option> 标签用于定义列表中的可用选项. HTML 4.01 与 HTML ...
- 改变Vim保存文件路径
1. vim 有个cd命令.用来更改当前文件夹.:cd sth进入sth文件夹.这样新文件保存之后就在当前文件夹.不过如果你打开一个已经保存的文件后然后更改当前文件夹是不会改变保存路径的.你必须为:w ...
- Facebook的工程师文化——《打造facebook》读后感
在今年北京的QCon大会上听了facebook早期中国籍工程师王淮的演讲,受益匪浅,主题是如何打造高效能团队,主要介绍他在facebook的一些经历和管理上的经验分享.现在的他是一名天使投资人,投资的 ...
- Java中常用的日期操作方法
日常项目当中经常会用到操作日期,抽出时间总结了一下,欢迎和大家多多沟通学习,如有任何改进意见和建议,我的QQ是1243672,欢迎联系哦. /** * 日期操作类 * 开发公司:北京东达悦科技有限公司 ...
- STL标准库-hash
技术在于交流.沟通,本文为博主原创文章转载请注明出处并保持作品的完整性 hash的结构图如下图 oject通过hashfunc转换成hashcode然后插入到相应篮子中 hash同rb_tree是一种 ...
- CIE-LUV是什么颜色特征
参考文献:维基百科 a simple-to-compute transformation of the 1931 CIE XYZ color space, but which attempted pe ...
- 学习ThinkPHP第一天
今天开始学习PHP框架了,刚开始学,感觉挺兴奋的,离自己建立自己的博客又仅了一步,在linux环境下配置一定要赋予新创建的文件夹权限: sudo chmod -R 0777 filePath 这样 ...
- [agc23E]Inversions
Atcoder description 给你\(n\)和\(\{a_i\}\),你需要求所有满足\(p_i\le a_i\)的\(1-n\)排列的逆序对个数之和模\(10^9+7\). \(n \le ...
- 【Beanstalkd】Beanstalkd消息队列的安装与使用
一.Beanstalkd是什么? Beanstalkd是一个高性能,轻量级的分布式内存队列 二.Beanstalkd特性 1.支持优先级(支持任务插队)2.延迟(实现定时任务)3.持久化(定时把内存中 ...
- mongodb数据处理工具
最近大家需要对mongodb和postgres数据库操作比较频繁,给大家推荐一个数据处理工具Kettle,希望对你能有所帮助 ① 将mongodb数据库中的表进行处理然后导出来生成csv,txt, ...