[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(&param);
           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

时间: 2024-10-04 22:49:03

[X264] MinGW编译x264,VC中调用libx264.dll-------------<参考转>的相关文章

win7中用MinGW编译x264出现&quot;No working C compiler found.&quot;错误

Description Given a n × n matrix A and a positive integer k, find the sum S = A + A2 + A3 + - + Ak. Input The input contains exactly one test case. The first line of input contains three positive integers n (n ≤ 30), k (k ≤ 109) and m (m < 104). Then

VC中调用exe

目前知道三种方式:WinExec,ShellExecute ,CreateProcess,别人已经总结的很好了<vc中调用其他应用程序的方法(函数) winexec,shellexecute ,createprocess>,我全文转载一下,另外后面加点自己的总结(黑体部分,除了标题). 三个SDK函数: WinExec,ShellExecute ,CreateProcess可以实现调用其他程序的要求,其中以WinExec最为简单,ShellExecute比WinExec灵活一些,CreateP

[转]VC中调用外部exe程序方式

本文转自:http://blog.sina.com.cn/s/blog_486285690100ljwu.html 目前知道三种方式:WinExec,ShellExecute ,CreateProcess,别人已经总结的很好了<vc中调用其他应用程序的方法(函数) winexec,shellexecute ,createprocess>,我全文转载一下,另外后面加点自己的总结(黑体部分,除了标题). 三个SDK函数: WinExec,ShellExecute ,CreateProcess可以实

VC++中调用MATLAB中的数据

网上的帖子都是如何将VC++数据添加进入MATLAB中,而VC++调用MATLAB中的数据几乎没有,再次记录一点东西吧 配置好编程环境,本文环境为:VS2012+MATLAB2012b. 首先要了解的是Matlab Engine API函数 接下来贴代码和效果: void test2() { Engine *ep; if (!(ep = engOpen(NULL))) { cout<<"Can't start MATLAB engine"<<endl; //Me

[转]vc中调用其他应用程序的方法(函数) winexec,shellexecute ,createprocess

三个SDK函数: WinExec,ShellExecute ,CreateProcess可以实现调用其他程序的要求,其中以WinExec最为简单,ShellExecute比WinExec灵活一些,CreateProcess最为复杂.    WinExec 两个参数,前一个指定路径,后一个指定显示方式.    ShellExecute 可以指定工作目录,并且还可以寻找文件的关联直接打开不用加载与文件关联的应用程序,ShellExecute还可以打开网页,启动相应的邮件关联发送邮件等等.    Cr

Native Application 开发详解(直接在程序中调用 ntdll.dll 中的 Native API,有内存小、速度快、安全、API丰富等8大优点)

文章目录:                   1. 引子: 2. Native Application Demo 展示: 3. Native Application 简介: 4. Native Application 有何妙用: 5. MJ0011 关于 Native Application 的文章整理: 6. 互联网上其他关于 Native Application 的文章整理: 7. 小结: 1. 引子: 其实在好久以前就看了 MJ0011 翻译的那个<Native 应用程序详细>系列的文

在.net中调用Delphi dll的Pchar转换

Pchar是非托管代码,要在.net中调用Delphi dll中的功能,请使用MarshalAs属性告知.net调用PInvoke去转换.net中标准的string类型.如果Delphi dll是Delphi2007以前的版本编译的,则Pchar是Ansi类型:如果Delphi dll是Delphi2009以后的版本编译的,则Pchar是Unicode类型.请看以下实例. Ansi类型: [DllImport("my.dll")] [return: MarshalAs(Unmanage

SOE 中调用第三方dll

一.简介 在利用soe实现server的扩展的时候,有些时候,需要调用第三方的dll库.官网中给出了明确的说明,soe中是可以添加第三方的dll文件,但是一直没有测试.按照官方的步骤应该是一个非常的简单的步骤.官方的步骤,参考连接如下:点击我 但是在实际测试的过程中发现并不如官方的步骤如此简单.其中涉及一个非常重要的东西,就是强签名. 二.强签名密钥 在新建soe模板工程后,可以在工程目录下看到一个名为myKey.snk 文件.snk一言以蔽之,为了防止自己的应用程序被篡改,就是给自己的应用程序

在Windows中使用MinGW编译X264

转自:http://www.cnblogs.com/xiongjiaji/archive/2012/06/08/2541265.html 参考:http://ayobamiadewole.com/Blog/Others/x264compilation.aspx 注意:安装完MinGW后,要把“安装路径\MinGW\bin”加到PATH环境变量中.否则在./configure的时候会“No working C compiler found”. 具体步骤如下: For someone coming