下载地址:
http://research.edm.uhasselt.be/emiplib/emiplib.html
 
相关文件如下(2011年8月9日) :
emiplib-1.1.0.zip
jrtplib-3.9.0.zip
jthread-1.3.0.zip

ffmpeg-git-6e19cfb-win32-dev.7z
speex-1.2beta3-win32.zip
 
Emiplib 1.1.0使用了CMake作为构建工具,需要首先安装CMake: http://www.cmake.org/
下图是CMake的GUI工具,使用方法很简单:
选择包含CMakeLists.txt文件的源码位置(Where is the source code)
选择CMake解析CMakeLists.txt后生成的文件路径(Where to build the binaries)
单击“Configue”,选择目标平台,再填写其他相应变量的值(这里尤其要注意的是,路径中不要包含空格)
单击“Generate”,生成相应平台的项目文件或Makefile(本文中使用的是VS2008)
CMake的使用方法
 
首先解压缩这些文件,目录结构如下:

 
1.编译jthread
用CMake生成jthread.sln并用VS2008编译,编译之后将在D:\EMIPLIB\jthread目录下生成include,lib等文件。
CMake变量CMAKE_INSTALL_PREFIX指定了jthread的include,lib等文件的部署位置(再次强调,路径中不可以有空格),这里设置为:“D:/EMIPLIB/jthread”。
 
2.编译jrtplib
方法同上,CMAKE_INSTALL_PREFIX设置为:“D:/EMIPLIB/jrtplib”。
 
3.编译emiplib
方法同上,CMAKE_INSTALL_PREFIX设置为:“D:/EMIPLIB/emiplib”。
选中如下选项:
EMIPLIB_SUPPORT_AVCODEC
EMIPLIB_SUPPORT_DIRECTSHOW
EMIPLIB_SUPPORT_QT3
EMIPLIB_SUPPORT_SPEEDX
EMIPLIB_SUPPORT_WINMM
 
注意:
编译emiplib之前,需要安装QT3,本文使用的是QT3.3.4。
还需安装DirectX SDK(需要其中的DirectShow)。
另外还需要在VC++中设置ffmpeg,speex,QT的头文件,库文件路径。
 
对于示例程序avsession,需要加入如下依赖库:
amstrmid.lib
avcodec.lib
avdevice.lib
avfilter.lib
avformat.lib
avutil.lib
postproc.lib
swscale.lib
 
几个编译错误的处理:
libavutil\common.h(31) : fatal error C1083: 无法打开包括文件:“inttypes.h”
打开common.h,删除#include <inttypes.h>
 
error C3861: “UINT64_C”: 找不到标识符
打开common.h,顶部添加:
#ifndef INT64_C
#define INT64_C(c) (c ## LL)
#define UINT64_C(c) (c ## ULL)
#endif
 
fatal error C1083: 无法打开包括文件:“stdint.h”: No such file or directory
删除相关的#include <stdint.h>即可
 
fatal error C1083: 无法打开包括文件:“dxtrans.h”
这个问题是微软的bug?!
可以使用Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include目录下的此文件。
 
error LNK2001: 无法解析的外部符号_speex_uwb_mode
用speex_lib_get_mode(SPEEX_MODEID_UWB)系列函数代替。
 
&speex_nb_mode替换为speex_lib_get_mode(SPEEX_MODEID_NB)
&speex_wb_mode替换为speex_lib_get_mode(SPEEX_MODEID_WB)
&speex_uwb_mode替换为speex_lib_get_mode(SPEEX_MODEID_UWB)


2011年8月25日:
去掉了QT相关的东西,改用Win32的StretchDIBits输出图像(MIPWin32Output)。


本文链接地址: Emiplib 1.1.0的编译
https://blog.qingfengju.com/index.asp?id=253

上一篇: VC++中使用Word类型库需要特别注意的地方
下一篇: Java的jar文件(无法找到第三方类库)

分类:Win32/C++ 查看次数:13309 发布时间:2011/8/9 14:15:54