/********************此文可以被转发,但请转发者保留作者的署名权
****李浩
****msn:lihao_nx@hotmail.com
****
****email:lihaoyxj@gmail.com
****出处:lihaoyxj.cublog.cn
****from:http://blog.csdn.net/lihao_ningxia
*****************/
今天早上终于将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
//# 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
# 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的汇编不一样的。我在坚持自己不能光吃一顿鱼,而是要学会捕鱼,希望大家也能顺利。至于编译的库能否使用,正确使用等测试后再说吧。
阅读(1642) | 评论(3) | 转发(0) |