[X264] MinGW编译x264,VC中调用libx264.dll
2014-11-05 22:43
465 查看
1. 下载并按照MinGW,最好就缺省按照
http://sourceforge.net/projects/ ... ler/mingw-get-inst/
把C:\MinGW\bin添加到PATH中 (dos命令行 PATH %PATH%;新目录;)
2. 下载Yasm,
http://yasm.tortall.net/Download.html
解压后改名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-142.dll, -142是我下载x264的版本号,这个有可能不一样的。
6. 安装pexports
在C:\MinGW\bin看看有没有pexports.exe, 如果没有
mingw-get install pexports
7. dll to def
pexports.exe libx264-142.dll > libx264-142.def
将dll里面所有的函数名提取出来
8. to lib
在..\VC\bin目录下有lib.exe文件,但一般都不能直接运行,少了一些dll.
拷贝Common7\IDE 里面的mspdb80.dll,mspdbcore.dll,mspdbsrv.exe,msobj80.dll复制到上面的bin文件。
添加..\VC\bin目录到PATH。
lib.exe /machine:ix86 /def:libx264-142.def
生成libx264-142.lib。.lib文件是为了给linker用,这样可以方便的静态调用libx264-142.dll。
编译时不用.dll,运行的时候才用到。
9. 测试libx264-142.dll
9.1 新建一个空工程;
9.2 新建一个.cpp文件,复制一下内容
#include <stdio.h>
#include "stdint.h"
#pragma comment(lib,"libx264-142.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-142.lib到此工程目录下。
9.5 拷贝libx264-142.dll到该工程输出目录下(Debug 或者Release目录)。
应该就可以用了,试试吧。
http://sourceforge.net/projects/ ... ler/mingw-get-inst/
把C:\MinGW\bin添加到PATH中 (dos命令行 PATH %PATH%;新目录;)
2. 下载Yasm,
http://yasm.tortall.net/Download.html
解压后改名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-142.dll, -142是我下载x264的版本号,这个有可能不一样的。
6. 安装pexports
在C:\MinGW\bin看看有没有pexports.exe, 如果没有
mingw-get install pexports
7. dll to def
pexports.exe libx264-142.dll > libx264-142.def
将dll里面所有的函数名提取出来
8. to lib
在..\VC\bin目录下有lib.exe文件,但一般都不能直接运行,少了一些dll.
拷贝Common7\IDE 里面的mspdb80.dll,mspdbcore.dll,mspdbsrv.exe,msobj80.dll复制到上面的bin文件。
添加..\VC\bin目录到PATH。
lib.exe /machine:ix86 /def:libx264-142.def
生成libx264-142.lib。.lib文件是为了给linker用,这样可以方便的静态调用libx264-142.dll。
编译时不用.dll,运行的时候才用到。
9. 测试libx264-142.dll
9.1 新建一个空工程;
9.2 新建一个.cpp文件,复制一下内容
#include <stdio.h>
#include "stdint.h"
#pragma comment(lib,"libx264-142.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-142.lib到此工程目录下。
9.5 拷贝libx264-142.dll到该工程输出目录下(Debug 或者Release目录)。
应该就可以用了,试试吧。
相关文章推荐
- [X264] MinGW编译x264,VC中调用libx264.dll-------------<参考转>
- Matlab与c++混合编程[四.通过VC调用Matlab编译产生的dll文件]
- MinGW如何使用VC编译的DLL??
- 使用QT+MinGW编写动态库dll供VC或VB调用
- 编译2010年x264最新的代码供VC编译使用DLL与LIB
- VC 调用 MinGW 生成的dll
- VC 调用 MinGW 生成的dll
- VC项目调用Matlab编译的DLL出现无法解析的外部符号
- 如何用Matlab编译.dll,再用VC调用
- vc dll编译和调用
- VC中调用MinGW的dll
- VC 调用 MinGW 生成的dll good
- mingw如何使用VC编译的dll
- VC Release 下用Mingw编译的dll 崩溃问题
- 使用VC脚本编译本地dll调用
- 使用QT+MinGW编写动态库dll供VC或VB调用
- mingw 下编译的libx264 DLL 如何在vs2010里使用
- VC 调用 MinGW 生成的dll
- mingw编译x264 dll时出现 "make[1]: lib: Command not found"的解决方法
- VC与Matlab混合编程(在VC中调用.m文件编译生成的DLL)