前言

  关于 搭建、编译VLC,不同的平台有不同的方法,可以参考wiki

  其中在windows下编译VLC有两种方式,MSYS+MinGW和CygWin。通过测试,最后决定采用MSYS+MinGW搭建VLC编译环境(多次测试, 通过且不需要额外的修改)。

  详细步骤请参考 wiki

注:文本编辑建议使用notepad2替代windows原有的notepad,并在保存文件前选择“文件->行末符号->Unix(换行)”

  搭建过程所需要的资料我没上传, 给个快照, 照着下载就是了。

VLC环境搭建

  1. MinGW Setup

    运行tdm-gcc-4.5.2.exe, 然后Select "Create",install to C:\MinGW(默认是C:\ MinGW32, 记得改成C:\ MinGW),keep default settings,afterwards check that C:\MinGW\bin is added to windows PATH (参考下图 添加到末尾, 用分号分隔)



    解压mingw-utils-0.3.tar, Extract contents to c:\MinGW
  2. MSys Setup,运行MSYS-1.0.11.exe,然后:Go through the wizard and install to to default C:\Msys\1.0(默认是C:\msys\1.0, 记得改成C:\Msys\1.0)

    In the command window that opens, answer questions as follows:

    Accept Post Install: [y]

    MinGW Installed? : [y]

    path to MinGW: [c:/MinGW]

    接着安装MSys Developer Toolkit,运行msysDTK-1.0.0.exe,然后Go through the wizard, keeping default values. (默认是C:\msys\1.0, 记得改成C:\Msys\1.0)
  3. 将AutoTools and libcrypt,文件夹和Glib and PKG-CONFIG文件夹下面的所有包解压到C:\Msys\1.0,添加set PKG_CONFIG_PATH=/win32/lib/pkgconfig到C:\MSys\1.0\msys.bat第一行。
  4. Fix libtool search dirs

    Open C:\MSys\1.0\bin\libtool and change line 9926 by appending ' /mingw/lib' to the end of 'compiler_lib_search_dirs'. The line should then read : (注: 一定要用notepad2编辑文本,并保存为unix格式)
compiler_lib_search_dirs="/usr/lib /usr/lib /bin/../lib/gcc-lib/i686-pc-msys/2.95.3-1 /bin/../lib/gcc-lib /usr/lib/gcc-lib/i686-pc-msys/2.95.3-1 /bin/../lib/gcc-lib/i686-pc-msys/2.95.3-1/../../../../i686-pc-msys/lib /usr/lib/gcc-lib/i686-pc-msys/2.95.3-1/../../../../i686-pc-msys/lib /mingw/lib"
  1. 安装lua

    Download the lua tools package from http://www.lua.org/ftp/lua-5.1.4.tar.gz

    Uncompress it in your home folder (C:\MSys\1.0\home\Administrator)

    run C:\MSys\1.0\msys.bat

    type the following commands:
cd /home/ Administrator /lua-5.1.4
make mingw

This should produce lua.exe, luac.exe and lua51.dll in the src directory. Put these in your /bin with the commands:

cd src
cp *.exe /bin
cp *.dll /bin
cd ..
  1. 安装第三方库(已提供最新版contrib-20110711-win32-bin-gcc-4.4.4-runtime-3.17-only.tar.bz2), 解压, 将usr目录下面的win32文件夹拷贝到C:\Msys\1.0下

VLC编译

  1. 解压vlc-1.1.11.tar
  2. extract it to C:\MSys\1.0\home\ Administrator ,rename the vlc-1.1.11 dir to vlc
  3. 编辑configure-msys.sh文件,添加--disable-upnp,类似于下图:



    然后拷贝configure-msys.sh和configure-common.sh文件到C:\Msys\1.0\home\Administrator\vlc\extras\package\win32下。
  4. Create a new file containing the single line:echoAdministrator

    and save it as C:\MSys\1.0\bin\whoami (without any extension)

    Modify configure.ac so that it doesn't call 'hostname -f' as follows:

    open C:\MSys\1.0\home\Administrator\vlc\configure.ac

    goto search button:

    change it as follows:

    old: AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "hostname -f 2> /dev/null || hostname", [host which ran configure])

    new: AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "hostname", [host which ran configure])
  5. Build VLC

    The build is made exclusively from the command line, so if you closed the prompt at the LUA step, re-execute C:\MSy\1.0\msys.bat, then type the commands as mentioned Bootstrap
cd vlccp -v /win32/share/aclocal/* m4/cp -v /share/aclocal/* m4/PATH=/win32/bin:$PATH ./bootstrap
Configure sh extras/package/win32/configure-msys.sh
Make (compile)

PATH=/usr/win32/bin:$PATH make -j4 (如果是四核的电脑, 否则相应修改)

make成功后如果想要生成sdk等文件夹, 可以输入下面命令Create self-contained packages

Once the compilation is done, build self-contained VLC packages with one of the following "make" commands:

make package-win32-base

(This will create a subdirectory named vlc-x.x.x with all the binaries "stripped" without any debugging symbols).

完!

2012年5月

基于vlc sdk的二次开发--环境搭建、编译的更多相关文章

  1. 基于全志H3芯片的ARM开发环境搭建

    基于全志H3芯片的ARM开发环境搭建 最近买了个友善之臂的NanoPi M1板子,又在网上申请了个NanoPi NEO板子,这两个都是基于全志H3芯片的Crotex-A7四核ARM开发板,两个板子可以 ...

  2. C# NX二次开发环境搭建

    在网上看到一篇C#二次开发环境搭建的文章:NX二次开发-使用NXOPEN C#手工搭建开发环境配置 ,写得非常好.我按照文章操作,过程中遇到几个问题,把问题分享给大家,希望对各位有帮助. 注意三点: ...

  3. Flutter入门教程(二)开发环境搭建

    学习Flutter,首先需要搭建好Flutter的开发环境,下面我将一步步带领大家搭建开发环境并且成功运行flutter项目. Flutter环境配置主要有这几点: 系统配置要求 Java环境 Flu ...

  4. 在windows环境下基于sublime text3的node.js开发环境搭建

    首先安装sublime text3,百度一堆,自己找吧.理论上sublime text2应该也可以.我只能说一句:这个软件实在是太强悍了. 跨平台,丰富的插件体系,加上插件基本上就是一个强悍的ide了 ...

  5. Zephyr学习(二)开发环境搭建

    一.概述 Zephyr支持在Windows.Linux和MacOS环境下开发,这里只介绍如何在Windows下搭建zephyr的开发环境. 二.步骤 2.1安装msys2 msys2是一个Linux模 ...

  6. 【Python】Java程序员学习Python(二)— 开发环境搭建

    巧妇难为无米之炊,我最爱的还是鸡蛋羹,因为我和鸡蛋羹有段不能说的秘密. 不管学啥,都要有环境,对于程序员来说搭建个开发环境应该不是什么难题.按顺序一步步来就可以,我也只是记录我的安装过程,你也可以滴. ...

  7. nutch二次开发环境搭建

    开发环境: ubuntu14.04 + jdk1.7 + eclispe +nutch1.7 1:解压下好nutch1.7 src 源码(wget http://archive.apache.org/ ...

  8. Java(二)——开发环境搭建 安装JDK和配置环境变量

    1.安装JDK 下载地址  http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载 ...

  9. Revit二次开发环境配置(Revit 2020 +Visual Studio 2019)

    Revit二次开发环境搭建(Revit 2019+Visual Studio 2017)准备内容 Revit 2019开发环境的搭建,需要安装的内容如下: Revit 2019(主要的开发环境) Vi ...

随机推荐

  1. python自动化之BDD框架之lettuce初识问题集

    最近在学习虫师老师编写的python自动化的书.其中讲到了BDD结构lettuce入门一章. 因为是小白,按部就班地进行操作,先不谈执行操作如何,先来讲讲遇到的几个坑,和怎么解决的: 第一坑:pyth ...

  2. python 自动化-"Elements not visible"

    一,今天试着跑一个多乘客下单的python脚本, 总是遇到  Elements not visible 或者  not clickable的错误 解决方法: 1. 首先观察脚本运行时, 报错的那个元素 ...

  3. 1066 Root of AVL Tree (25 分)(平衡二叉树)

    就是AVL的模板题了 注意细节 #include<bits/stdc++.h> using namespace std; typedef struct node; typedef node ...

  4. 贝叶斯网(1)尝试用Netica搭建简单的贝叶斯网并使用贝叶斯公式解释各个bar的结果

    近来对贝叶斯网十分感兴趣,按照博客<读懂概率图模型:你需要从基本概念和参数估计开始>给出的第一个例子,试着搭建了一个student网. (1)点击绿F,对条件概率表予以输入(包括两个祖先节 ...

  5. ubuntu中tensorflow安装

    首先加入了CUDA_HOM环境变量,然后下载了一个分析工具库,结果E: 无法定位软件包 libcupti-dev,在etc/apt 的sources.list 添加镜像源 deb http://arc ...

  6. 学习materialize

    <div class="container"> <div class="row">   </div> <div cla ...

  7. VS2010历史记录清理

    把如下粘贴到文本文件里,另存为批处理文件.(后缀为 *.bat)双击执行就可 @echo off cd \ @echo on @REG Delete HKEY_CURRENT_USER\Softwar ...

  8. 查看lwjgl常用状态的值

    在遇到状态值较多较复杂的情况,可以选择使用GL11.glIsEnabled()或者GL11.glGet()函数来查看状态机值,以下是常用值: public static void printOpenG ...

  9. [C/C++] malloc内存分配与free内存释放原理

    1.问题的引入: 为什么要使用malloc,主要是因为在代码中,为了节约内存,很多数据都是动态生成的,所以会用malloc,对应于C++中的new,底层还是调用malloc. 2.碎片的问题: 会有内 ...

  10. NotifyIcon控件

    NotifyIcon就是系统托盘控件.通知区域中的图标是一些进程的快捷方式,这些进程在计算机后台运行,如防病毒程序或音量控制.这些进程不会具有自己的用户界面.NotifyIcon 类提供了编写此功能的 ...