[X264] MinGW编译x264,VC中调用libx264.dll-------------<参考转>
2017-09-26 11:44
495 查看
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
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和Matlab混合编程之调用Engine引擎方式<一>
- VC调用matlab dll方式混合编程(c风格--例2)<二>
- VC与Matlab混合编程之调用动态链接库dll(C++)——<二>
- VC与Matlab混合编程之调用动态链接库dll<二>
- <android编译ffmpeg+x264+faac> <Android/NDK环境下FFmpeg及AAC,MP3,X264的编译>
- vc工程中各种后缀文件作用<转>
- asp <----> vb(com,dll) <---> c 来回的调用,生命在于折腾
- LoaderCallbacks<RESTLoader.RESTResponse> 自动重新调用
- <a> 标签 中调用js的几种方法
- android NDK开发编译时出现Type 'jint' could not be resolved和Unresolved inclusion: <jni.h>的解决办法
- 使用<a>标签调用struts2的action、传递动态参数、以及参数中出现加号等特殊字符的处理方法
- 使用QT+MinGW编写动态库dll供VC或VB调用
- Android源码编译GC overhead limit exceeded. Try increasing heap size with java option '-Xmx<size>'
- MinGW如何使用VC编译的DLL??
- 对于 std::vector<T> , 当T没有赋值运算符函数的时候,如何调用vector push_back?
- VC编译LUA与调用
- VS2015编译错误:调用的目标发生了异常--->此实现不是Windows平台FLPS验证的加密算法的一部分。
- 关于TreeSet<E>泛型类中的compareTo()方法的调用
- 在Windows中使用MinGW编译X264