完成xvid1.2.1移植到windows mobile平台

/********************此文可以被转发,但请转发者保留作者的署名权
****李浩
****msn:lihao_nx@hotmail.com
****
****email:lihaoyxj@gmail.com
****出处:lihaoyxj.cublog.cn
****from:http://www.cnblogs.com/lihaoyxj
*****************/
    今天早上终于将xvid1.2.1移植到windows mobile平台上,虽然还没有测试,不过先把这部分的移植方式共享出来。
    下载xvid1.2.1就不用说了,它里边一个是WIN32项目,另一个是通用的基于LINUX等的。
    肯定是要新建一个windows mobile lib空项目了.
    然后把除过plugins文件夹下的所有文件加到项目中,如下:


然后把portab.h中的这一段相关代码改成如下
#if defined(ARCH_IS_32BIT)
#    define CACHE_LINE 64
#    define ptr_t uint32_t
#    define intptr_t int32_t
#    define _INTPTR_T_DEFINED
//这个注释有必要
//#    if defined(_MSC_VER) && _MSC_VER >= 1300 && !defined(__INTEL_COMPILER)
//#        include <stdarg.h>
//#    else
#        define uintptr_t uint32_t
//#    endif
#elif defined(ARCH_IS_64BIT)
#    define CACHE_LINE  64
#    define ptr_t uint64_t
#    define intptr_t int64_t
#    define _INTPTR_T_DEFINED
#    if defined (_MSC_VER) && _MSC_VER >= 1300 && !defined(__INTEL_COMPILER)
#        include <stdarg.h>
#    else
#        define uintptr_t uint64_t
#    endif
#else
#    error You are trying to compile XviD without defining address bus size.
#endif

再把预编译条件改成如下:
NDEBUG
_WIN32_WCE=$(CEVER)
UNDER_CE
$(PLATFORMDEFINES)
WINCE
_LIB
$(ARCHFAM)
$(_ARCHFAM_)
_UNICODE
UNICODE
ARCH_IS_GENERIC//add
ARCH_IS_32BIT//add


好了就可以这样编译了,如果过程中遇到汇编不能过,就先汇编注释掉,毕竟X86和ARM的汇编不一样的。我在坚持自己不能光吃一顿鱼,而是要学会捕鱼,希望大家也能顺利。至于编译的库能否使用,正确使用等测试后再说吧。
posted @ 2009-05-19 09:38  浩@子  阅读(775)  评论(0编辑  收藏  举报