wince移植的问题,Cannot open include file: 'inttypes.h'

时间:2020-12-11 00:52:01
在vs2005下,把win32下能运行的h264解码程序放到pocket pc模拟器上,出现了以下错误信息,找不到'inttypes.h'和'errno.h',而两个文件我都包含了,而我在common.h里把inttypes.h注释后则出现120多个错误。大家帮忙看看啊,先谢过了! 

\libavcodec\common.h(70) : fatal error C1083: Cannot open include file: 'inttypes.h': No such file or directory
\avcodec.c(6) : fatal error C1083: Cannot open include file: 'errno.h': No such file or directory

注:试过下面的解决方法仍无效,应该是针对vc6.0的,而我是vs2005。

附:Cannot open include file: 'inttypes.h'的解决方式。

解决:Cannot open include file: 'inttypes.h'

更新ffmpeg之后,有时编译应用ffmpeg库的工程会发现提示: Cannot open include file: 'inttypes.h': No such file or directory 的出错信息,可通过如下方法解决:
1、找到include目录中的ffmpeg\common.h
2、在“#define COMMON_H”之后加入如下代码,同时删除“#include <inttypes.h>” 然后保存:


#if defined(WIN32) && !defined(__MINGW32__) && !defined(__CYGWIN__)
#    define CONFIG_WIN32
#endif
#if defined(WIN32) && !defined(__MINGW32__) && !defined(__CYGWIN__) && !defined(EMULATE_INTTYPES)
#    define EMULATE_INTTYPES
#endif
#ifndef EMULATE_INTTYPES
#   include <inttypes.h>
#else
    typedef signed char  int8_t;
    typedef signed short int16_t;
    typedef signed int   int32_t;
    typedef unsigned char  uint8_t;
    typedef unsigned short uint16_t;
    typedef unsigned int   uint32_t;
#   ifdef CONFIG_WIN32
        typedef signed __int64   int64_t;
        typedef unsigned __int64 uint64_t;
#   else /* other OS */
        typedef signed long long   int64_t;
        typedef unsigned long long uint64_t;
#   endif /* other OS */
#endif /* EMULATE_INTTYPES */

2 个解决方案

#1


先注释掉include,看哪个函数没有定义,在引入相应的头文件

这种问题一般是编译器的版本问题引起的吧

#2


楼主,你好,我现在做的东西跟你的相反。。。我最近在做x264编码器在wince上的移植。。。遇到好多,没有解决的问题啊 ,不知道楼主是否做过x264编码器在wince上的移植。。。

或者楼下有高手指点下啊。。。  为这号几天都没好好吃饭了

#1


先注释掉include,看哪个函数没有定义,在引入相应的头文件

这种问题一般是编译器的版本问题引起的吧

#2


楼主,你好,我现在做的东西跟你的相反。。。我最近在做x264编码器在wince上的移植。。。遇到好多,没有解决的问题啊 ,不知道楼主是否做过x264编码器在wince上的移植。。。

或者楼下有高手指点下啊。。。  为这号几天都没好好吃饭了