【ffmpeg + VS2010】编译包含libavutil\common.h后出现找不到inttypes.h的问题
2013-03-04 15:30
253 查看
包含libavutil\common.h,由于里面#include <inttypes.h> ,会出现找不到inttypes.h的问题,
即使把inttypes.h的路径加上去之后,也无法编译通过,反而会出现一大堆问题。
解决办法如下:
删除#include <inttypes.h>这句,加上下面一大段
//Howard 2013-03-04 , 解决包含inttypes.h以后出现的Bug
//#include <inttypes.h>
//Howard 2013-03-04 +++begin+++
#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 */
//解决UINT64_C没定义的问题
#ifndef INT64_C
#define INT64_C(c) (c##LL)
#define UINT64_C(c) (c##ULL)
#endif
//Howard 2013-03-04 +++end+++
即使把inttypes.h的路径加上去之后,也无法编译通过,反而会出现一大堆问题。
解决办法如下:
删除#include <inttypes.h>这句,加上下面一大段
//Howard 2013-03-04 , 解决包含inttypes.h以后出现的Bug
//#include <inttypes.h>
//Howard 2013-03-04 +++begin+++
#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 */
//解决UINT64_C没定义的问题
#ifndef INT64_C
#define INT64_C(c) (c##LL)
#define UINT64_C(c) (c##ULL)
#endif
//Howard 2013-03-04 +++end+++
相关文章推荐
- 【ffmpeg + VS2010】编译包含libavutil\common.h后出现找不到inttypes.h的问题
- 【ffmpeg + VS2010】编译包含libavutil\common.h后出现找不到inttypes.h的问题
- ndk编译 ffmpeg 1.1.1 出现libavutil/time.h 和系统的time.h 冲突问题 ;
- vc编译ffmpeg遇到问题(inttypes.h和UINT64_C问题)
- vs2008 下编译ffmpeg,找不到inttypes.h和stdint.h,将这两个源码贴上
- VS2008编译DirectX SDK 2004 summer版的Sound例子程序出现的libcp.lib找不到的问题的解决办法
- VS2010编译Qt5.3项目,出现Moc'ing xxx.h,系统找不到指定路径问题
- NDK r12b下编译安卓FFmpeg arm64架构出现的奇葩问题
- VS2010编译的程序,在其他电脑上出现“应用程序正常初始化(0xc0150002)失败”问题的解决方案
- LabVIEW编译时出现文件找不到的问题原因及其解决办法
- 使用gcc 5 编译c++11编写的程序 出现的符号找不到的链接问题。
- linux编译出现/usr/bin/ld: 找不到 -lopencv_dep_cudart 的问题解决
- 在WIN10系统下运行VS2013编译成功后出现:无法启动程序“.exe” 系统找不到指定文件的问题的解决方法
- ffmpeg 2.3 mingw下用vs2010/15编译的一些小问题总结
- 有关用crosstool-ng编译交叉工具链出现找不到expat的问题的解决办法
- Ubuntu16.04+Anaconda3环境下安装caffe-cpu出现libboost1.55找不到的问题
- VS2010编译是出现mt.exe找不到的解决方案
- javac编译成功,用java运行class文件出现“找不到或无法加载主类” 的问题解决起来很简单
- [C] 让VC支持C99的整数类型V1.01。避免包含目录问题,更名auto_stdint.h、auto_inttypes.h(在VC6至VC2012、GCC、BCB等编译器下测试通过)
- Modules导致xcode下编译libjpeg出现重定义问题解决