1.首先下載mingw64, https://nchc.dl.sourceforge.net/project/mingw/Installer/mingw-get-setup.exe
下載下來后直接雙擊安裝,
2. 下載msys. http://www.mingw.org/wiki/MSYS/,我下載的是1.0.11版本的。直接點擊安裝,我安裝在C盤,安裝過程中會有一些提示,yes就行,最后需要配置一個mingw的環境變量,我配置的是上圖中的地址C:/mingw-w64/x86_64-4.9.2-posix-seh-rt_v3-rev1/mingw64,(注意正反斜杠啊)可能他會提示錯誤,說找不到路徑之類的,不要管他,暴力一點,直接到C:\msys\1.0\etc目錄,復制fstab.sample為fstab,然后編輯如下圖:

接着編輯C:\msys\1.0\msys.bat文件,在開頭加上call "D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\vcvars64.bat"在這樣環境變量就配置好了。
1 下載 MinGW 和 MSYS
MinGW(Minimalist GNU on Windows):一個可自由使用和自由發布的Windows特定頭文件和使用GNU工具集導入庫的集合,允許你生成本地的Windows程序而不需要第三方C運行時庫。
到: http://sourceforge.net/projects/mingw/ 去下載即可
A 點擊“DownLoad mingw-get-inst-...exe”
B 切換到頁面:download? Check your browser's security bar, or try a direct link, or try another mirror.
C 點擊“direct link”下載類似:mingw-get-inst-20120426.exe 的文件
提示:msys此處就不用再下載了,mingw-get-inst-20120426.exe 中已經包含了msys1.0,后面安裝的時候就可以看到該選項。
2 下載 yasm(匯編編譯器)
ffmpeg編譯的時候里面的匯編代碼需要yasm.exe
去官網: http://yasm.tortall.net/Download.html 下載
文件名類似為:yasm-1.2.0-win64.exe(如果是64位系統下載32位版本yasm-1.2.0-win32.exe)
ffmpeg可以到 http://www.ffmpeg.org/releases/ 下載
選擇的一個最新版本下載即可,如:ffmpeg-2.0.1.tar.gz
文件名類似為:ffmpeg-2.0.1.tar.gz
當然你也使用網上介紹的使用SVN直接下載源代碼的方法。
svn://svn.mplayerhq.hu/ffmpeg/trunk
4 下載 mp3lame(支持mp3,可選項)
為了讓編譯出來的ffmpeg支持對mp3格式的編解碼,您需要先下載lame。
到: http://sourceforge.net/projects/lame/files/ 下載
文件名類似為:lame-3.99.5.tar.gz 的包。
5 下載 x264(支持x264,可選項)
為了讓編譯出來的ffmpeg支持對x264格式的編解碼,您需要先下載x264。
到: http://www.videolan.org/developers/x264.html下載
文件名類似為:last_x264.tar.bz2 的包。
6 下載 Xvid(支持Xvid,可選項)
為了讓編譯出來的ffmpeg支持對Xvid格式的編解碼,您需要先下載Xvid。
到: http://www.xvid.org/ 下載
文件名類似為:xvidcore-1.3.2.tar.gz 的包。
7 下載 faac(支持faac,可選項)
到: http://www.audiocoding.com/downloads.html 下載:Version 1.28 bootstrapped TAR.GZ Package
文件名類似為:faac-1.28.tar.gz 的包。
8 下載 aacenc(支持aac,可選項)
到: http://sourceforge.net/projects/opencore-amr/files/ 下載:vo-aacenc
文件名類似為:vo-aacenc-0.1.2.tar.gz 的包。
9 下載 opencore-amr與vo-amrwbenc (支持3gp,可選項)
到: http://sourceforge.net/projects/opencore-amr/files/ 下載:opencore-amr 與 vo-amrwbenc
文件名類似為:opencore-amr-0.1.3.tar.gz 與vo-amrwbenc-0.1.2.tar.gz 的包。
10 下載 SDL(支持SDL,可選項)
SDL下載可以到: http://www.libsdl.org/download-1.2.php
在Source Code欄選擇類似:SDL-1.2.15.tar.gz - GPG signed 進行下載,
文件名類似為:SDL-1.2.15.tar.gz,此文件需要編譯才能生成lib庫。
四 編譯步驟
1 安裝 mingw 和 msys
執行下載文件:mingw-get-inst-20120426.exe,
在第3步選擇“Download latest repository catalogues”
選擇安裝路徑:D:\Files\MinGW
在“Select Components”步驟中選擇:
√ C Compiler (默認且一定選擇)
√ C++ Compiler
√ MSYS Basic System(選擇此項將會安裝msys,msys則不需要另外安裝)
√ MinGW Developer ToolKit
等待安裝完成!(需要等待一定的時間,因為安裝過程需要下載文件,可想而知,網速越快,安裝越快)
安裝完成后,在D:\Files\MinGW目錄下可以看到 msys 文件夾,msys也已經安裝。
2 配置 msys.bat 批處理文件
為了方便VS2010調用ffmpeg的動態庫,可以通過配置讓ffmpeg編譯時產生windows下調用dll對應的lib,當然,如果你沒有這個需要,那么就可以省略以下處理,直接進入步驟3。
進入:D:\Files\MinGW\msys\1.0\文件夾,使用UltraEdit打開msys.bat文件,在文件的最最前面加入如下一行:
添加后效果如下:
1 call "D:\Program Files\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat" 2 @echo off 3 rem Copyright (C): 2001, 2002, 2003, 2004, 2005 Earnie Boyd 4 rem mailto:earnie@users.sf.net 5 rem This file is part of Minimal SYStem 6 rem http://www.mingw.org/msys.shtml 7 rem 8 rem File: msys.bat 9 rem Revision: 2.4 10 rem Revision Date: December 8th, 2005 11 rem ember to set the "Start in:" field of the shortcut. 12 rem A value similar to C:\msys\1.0\bin is what the "Start in:" field needs 13 rem to represent.
其中“D:\Files\Microsoft Visual Studio 10.0”為你機器上安裝VS2010的目錄安裝在了D盤。文件修改后保存即可。
3 系統整合
使用UltraEdit修改D:\Files\MinGW\msys\1.0\etc目下的fstab文件,修改其內容為:D:/Files/MinGW,也即為MinGW的安裝路徑。
4 配置 yasm
為了減少配置環境變量的麻煩,本處直接把yasm-1.1.0-win64.exe 文件名修改成:yasm.exe,並放到目錄: D:\Files\MinGW\msys\1.0\bin
5 編譯 mp3lame(可選項)
lame-3.99.5.tar.gz 接壓到:D:\Library\ffmpeg\ 目錄下,雙擊“D:\Files\MinGW\msys\1.0\msys.bat”,啟動“MinGW32”,切換到lame目錄:D:\ffmpeg \lame-3.99.5
$ cd /d
$ cd Library/ffmpeg/lame-3.99.5
$./configure --disable-shared (首選)
$ make
$ make install
編譯結果在:D:\Files\MinGW\msys\1.0\local 目錄下
6 編譯 x264(可選項)
last_x264.tar.bz2 接壓到:D:\Library\ffmpeg\ 目錄下,雙擊“D:\Files\MinGW\msys\1.0\msys.bat”,啟動“MinGW32”,切換到x264目錄:D: \Library\ffmpeg\x264-snapshot-20130630-2245
$ cd /d
$ cd Library/ffmpeg/x264-snapshot-20130630-2245
$./configure --enable-shared --disable-asm
$ make install
編譯結果在:D:\Files\MinGW\msys\1.0\local 目錄下
7 編譯 Xvid(可選項)
xvidcore-1.3.2.tar.gz 接壓到:D:\Files\Library\ffmpeg\ 目錄下,雙擊“D:\Files\MinGW\msys\1.0\msys.bat”,啟動“MinGW32”,切換到xvidcore目錄:D: \Files\Library\ffmpeg\xvidcore\build\generic
$ cd Files/Library/ffmpeg/xvidcore/build/generic
再執行以下命令:
$./configure --prefix=d:/Files/MinGW/msys/1.0/local
$ make
$ make install
編譯結果在:D:\Files\MinGW\msys\1.0\local 目錄下。
需要注意的就是:此處編譯加上了路徑
如果make時出現:cc1.exe: error: unrecognized command line option '-mno-cygwin' 錯誤,請在./configure后make之前修改xvidcore\build\generic里的 platform.inc文件,直接刪除里面的“-mno-cygwin”。
8 編譯faac(可選項)
faac-1.28.tar.gz 接壓到:D:\Files\Library\ffmpeg\ 目錄下,雙擊“D:\Files\MinGW\msys\1.0\msys.bat”,啟動“MinGW32”,已經啟動的話就不用再重新啟動了。切換到 faac目 錄: D:\Files\Library\ffmpeg\faac-1.28
$ cd Files\Library\ffmpeg\faac-1.28
$./bootstrap
$./configure --disable-static --enable-shared
$ make
$ make install
編譯結果在:D:\Files\MinGW\msys\1.0\local 目錄下
9 編譯vo-aacenc (可選項)
vo-aacenc-0.1.2.tar.gz 接壓到:D:\Files\Library\ffmpeg\ 目錄下,雙擊“D:\Files\MinGW\msys\1.0\msys.bat”,啟動“MinGW32”,已經啟動的話就不用再重新啟動了。切換到 vo- aacenc目錄:D:\Files\Library\ffmpeg\vo-aacenc-0.1.2
$ cd Files\Library\ffmpeg\vo-aacenc-0.1.2
$ cd vo-aacenc-0.1.2
再執行以下命令:
$./configure --disable-shared
$ make
$ make install
編譯結果在:D:\Files\MinGW\msys\1.0\local 目錄下
opencore-amr-0.1.3.tar.gz 接壓到:D:\Files\Library\ffmpeg\ 目錄下,雙擊“D:\Files\MinGW\msys\1.0\msys.bat”,啟動“MinGW32”,已經啟動的話就不用再重新啟動了。
切換到opencore-amr目錄:D:\Files\Library\ffmpeg\opencore-amr-0.1.3
$ cd /d
$ cd Files\Library\ffmpeg\opencore-amr-0.1.3
再執行以下命令:
$./configure --disable-shared
$ make CC=gcc
$ make install
編譯結果在:D:\Files\MinGW\msys\1.0\local 目錄下
vo-amrwbenc-0.1.2.tar.gz 接壓到: D:\Files\Library\ffmpeg\ 目錄下,雙擊“D:\Files\MinGW\msys\1.0\msys.bat”,啟動“MinGW32”,已經啟動的話就不用再重新啟動了。切換到vo-amrwbenc目錄:D:\Files\Library\vo-amrwbenc-0.1.2
$ cd Files\Library\vo-amrwbenc-0.1.2
再執行以下命令:
$./configure --disable-shared
$ make CC=gcc
$ make install
編譯結果在:D:\Files\MinGW\msys\1.0\local 目錄下
11 編譯SDL(可選項)
SDL-1.2.15.tar.tar 解壓到:D:\Files\Library\ffmpeg\ 目錄下, 雙擊“D:\Files\MinGW\msys\1.0\msys.bat”,啟動“MinGW32”,切換到SDL目錄:D:\ffmpeg\SDL- 1.2.15,切換方法如下:
$ cd /d
$ cd Files\Library\ffmpeg
$ cd SDL-1.2.15
再執行以下命令:
./configure
make
make install
編譯結果在:D:\Files\MinGW\msys\1.0\local 目錄下
把 prefix=/usr/local 該成: prefix=d:/Files/MinGW
其中:D:/Files/MinGW 為 mingw的安裝路徑,請根據你的安裝進行修改。為了編譯時msys能識別sdl並開啟 SDL support yes 進行編譯,請把D:\Files\MinGW\msys\1.0\local編譯結果bin、include和lib中有關sdl的拷貝一份到D: \Files\MinGW\的對 應目錄中。
12 編譯 ffmpeg
ffmpeg-2.0.1.tar.gz 解壓到:D:\Files\Library\ffmpeg\ 目錄下,雙擊“D:\Files\MinGW\msys\1.0\msys.bat”,啟動“MinGW32”,切換到ffmpeg目錄:D:\Files\Library\ffmpeg\ffmpeg-2.0.1,切換方法如下:
$ cd Files\Library\ffmpeg\ffmpeg-2.0.1
再執行以下命令:
$ ./configure --enable-shared --disable-static --enable-ffplay
--enable-nonfree --enable-memalign-hack
--enable-libmp3lame
--enable-gpl
--enable-libxvid
--enable-libvo-aacenc
--enable-version3
--enable-libopencore-amrwb
--extra-cflags=-Id:/Files/MinGW/msys/1.0/local/include
--extra-ldflags=-Ld:/Files/MinGW/msys/1.0/local/lib
請耐心等待一段時間,以上命令不能直接換行哦並且根據ffmpeg的版本不同有所變化,具體看./configure --help,你知道的。。。
$ make
需要等待很長一段時間,等待編譯結束。
為了匯總編譯結果,請繼續執行以下命令:
$ make install
等待完成,在 d:/Files/Library/ffmpeg/ffmpeg-2.0.1中將會生成 bin、include、lib等文件夾,其中包含了ffmpeg.exe、ffplay.exe、ffprobe.exe、dll、lib和頭文件等。
確實以下dll:
1 #ifndef _INTTYPES_H_ALL_
2 #define _INTTYPES_H_ALL_
3
4 // _INTTYPES_H_SYS_: 編譯器是否提供了<inttypes.h>
5 #undef _INTTYPES_H_SYS_
6 #if defined(__GNUC__) // GCC.
7 #define _INTTYPES_H_SYS_
8 #elif defined(_MSC_VER) // MSVC. VC2010仍不支持.
9 #elif defined(__BORLANDC__) // BCB. BCB6仍不支持.
10 #else
11 #define _INTTYPES_H_SYS_ // 假設其他編譯器支持C99.
12 #endif // _INTTYPES_H_SYS_
13
14
15 #ifdef _INTTYPES_H_SYS_
16 // 使用編譯器提供的<inttypes.h>
17 #include <inttypes.h>
18 #else
19 // 采用自定義的inttypes.h. 參考了 msinttypes: http://code.google.com/p/msinttypes/
20
21 #ifndef _MSC_INTTYPES_H_ // [
22 #define _MSC_INTTYPES_H_
23
24 #include "stdint.h"
25
26 // 7.8 Format conversion of integer types
27
28 typedef struct {
29 intmax_t quot;
30 intmax_t rem;
31 } imaxdiv_t;
32
33 // 7.8.1 Macros for format specifiers
34
35 #if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) // [ See footnote 185 at page 198
36
37 // The fprintf macros for signed integers are:
38 #define PRId8 "d"
39 #define PRIi8 "i"
40 #define PRIdLEAST8 "d"
41 #define PRIiLEAST8 "i"
42 #define PRIdFAST8 "d"
43 #define PRIiFAST8 "i"
44
45 #define PRId16 "hd"
46 #define PRIi16 "hi"
47 #define PRIdLEAST16 "hd"
48 #define PRIiLEAST16 "hi"
49 #define PRIdFAST16 "hd"
50 #define PRIiFAST16 "hi"
51
52 #if defined(_MSC_VER) && _MSC_VER<=1200 // VC6
53 #define PRId32 "d"
54 #define PRIi32 "i"
55 #define PRIdLEAST32 "d"
56 #define PRIiLEAST32 "i"
57 #define PRIdFAST32 "d"
58 #define PRIiFAST32 "i"
59 #else
60 #define PRId32 "I32d"
61 #define PRIi32 "I32i"
62 #define PRIdLEAST32 "I32d"
63 #define PRIiLEAST32 "I32i"
64 #define PRIdFAST32 "I32d"
65 #define PRIiFAST32 "I32i"
66 #endif
67
68 #define PRId64 "I64d"
69 #define PRIi64 "I64i"
70 #define PRIdLEAST64 "I64d"
71 #define PRIiLEAST64 "I64i"
72 #define PRIdFAST64 "I64d"
73 #define PRIiFAST64 "I64i"
74
75 #define PRIdMAX "I64d"
76 #define PRIiMAX "I64i"
77
78 #define PRIdPTR "Id"
79 #define PRIiPTR "Ii"
80
81 // The fprintf macros for unsigned integers are:
82 #define PRIo8 "o"
83 #define PRIu8 "u"
84 #define PRIx8 "x"
85 #define PRIX8 "X"
86 #define PRIoLEAST8 "o"
87 #define PRIuLEAST8 "u"
88 #define PRIxLEAST8 "x"
89 #define PRIXLEAST8 "X"
90 #define PRIoFAST8 "o"
91 #define PRIuFAST8 "u"
92 #define PRIxFAST8 "x"
93 #define PRIXFAST8 "X"
94
95 #define PRIo16 "ho"
96 #define PRIu16 "hu"
97 #define PRIx16 "hx"
98 #define PRIX16 "hX"
99 #define PRIoLEAST16 "ho"
100 #define PRIuLEAST16 "hu"
101 #define PRIxLEAST16 "hx"
102 #define PRIXLEAST16 "hX"
103 #define PRIoFAST16 "ho"
104 #define PRIuFAST16 "hu"
105 #define PRIxFAST16 "hx"
106 #define PRIXFAST16 "hX"
107
108 #if defined(_MSC_VER) && _MSC_VER<=1200 // VC6
109 #define PRIo32 "o"
110 #define PRIu32 "u"
111 #define PRIx32 "x"
112 #define PRIX32 "X"
113 #define PRIoLEAST32 "o"
114 #define PRIuLEAST32 "u"
115 #define PRIxLEAST32 "x"
116 #define PRIXLEAST32 "X"
117 #define PRIoFAST32 "o"
118 #define PRIuFAST32 "u"
119 #define PRIxFAST32 "x"
120 #define PRIXFAST32 "X"
121 #else
122 #define PRIo32 "I32o"
123 #define PRIu32 "I32u"
124 #define PRIx32 "I32x"
125 #define PRIX32 "I32X"
126 #define PRIoLEAST32 "I32o"
127 #define PRIuLEAST32 "I32u"
128 #define PRIxLEAST32 "I32x"
129 #define PRIXLEAST32 "I32X"
130 #define PRIoFAST32 "I32o"
131 #define PRIuFAST32 "I32u"
132 #define PRIxFAST32 "I32x"
133 #define PRIXFAST32 "I32X"
134 #endif
135
136 #define PRIo64 "I64o"
137 #define PRIu64 "I64u"
138 #define PRIx64 "I64x"
139 #define PRIX64 "I64X"
140 #define PRIoLEAST64 "I64o"
141 #define PRIuLEAST64 "I64u"
142 #define PRIxLEAST64 "I64x"
143 #define PRIXLEAST64 "I64X"
144 #define PRIoFAST64 "I64o"
145 #define PRIuFAST64 "I64u"
146 #define PRIxFAST64 "I64x"
147 #define PRIXFAST64 "I64X"
148
149 #define PRIoMAX "I64o"
150 #define PRIuMAX "I64u"
151 #define PRIxMAX "I64x"
152 #define PRIXMAX "I64X"
153
154 #define PRIoPTR "Io"
155 #define PRIuPTR "Iu"
156 #define PRIxPTR "Ix"
157 #define PRIXPTR "IX"
158
159 // The fscanf macros for signed integers are:
160 #define SCNd8 "d"
161 #define SCNi8 "i"
162 #define SCNdLEAST8 "d"
163 #define SCNiLEAST8 "i"
164 #define SCNdFAST8 "d"
165 #define SCNiFAST8 "i"
166
167 #define SCNd16 "hd"
168 #define SCNi16 "hi"
169 #define SCNdLEAST16 "hd"
170 #define SCNiLEAST16 "hi"
171 #define SCNdFAST16 "hd"
172 #define SCNiFAST16 "hi"
173
174 #define SCNd32 "ld"
175 #define SCNi32 "li"
176 #define SCNdLEAST32 "ld"
177 #define SCNiLEAST32 "li"
178 #define SCNdFAST32 "ld"
179 #define SCNiFAST32 "li"
180
181 #define SCNd64 "I64d"
182 #define SCNi64 "I64i"
183 #define SCNdLEAST64 "I64d"
184 #define SCNiLEAST64 "I64i"
185 #define SCNdFAST64 "I64d"
186 #define SCNiFAST64 "I64i"
187
188 #define SCNdMAX "I64d"
189 #define SCNiMAX "I64i"
190
191 #ifdef _WIN64 // [
192 # define SCNdPTR "I64d"
193 # define SCNiPTR "I64i"
194 #else // _WIN64 ][
195 # define SCNdPTR "ld"
196 # define SCNiPTR "li"
197 #endif // _WIN64 ]
198
199 // The fscanf macros for unsigned integers are:
200 #define SCNo8 "o"
201 #define SCNu8 "u"
202 #define SCNx8 "x"
203 #define SCNX8 "X"
204 #define SCNoLEAST8 "o"
205 #define SCNuLEAST8 "u"
206 #define SCNxLEAST8 "x"
207 #define SCNXLEAST8 "X"
208 #define SCNoFAST8 "o"
209 #define SCNuFAST8 "u"
210 #define SCNxFAST8 "x"
211 #define SCNXFAST8 "X"
212
213 #define SCNo16 "ho"
214 #define SCNu16 "hu"
215 #define SCNx16 "hx"
216 #define SCNX16 "hX"
217 #define SCNoLEAST16 "ho"
218 #define SCNuLEAST16 "hu"
219 #define SCNxLEAST16 "hx"
220 #define SCNXLEAST16 "hX"
221 #define SCNoFAST16 "ho"
222 #define SCNuFAST16 "hu"
223 #define SCNxFAST16 "hx"
224 #define SCNXFAST16 "hX"
225
226 #define SCNo32 "lo"
227 #define SCNu32 "lu"
228 #define SCNx32 "lx"
229 #define SCNX32 "lX"
230 #define SCNoLEAST32 "lo"
231 #define SCNuLEAST32 "lu"
232 #define SCNxLEAST32 "lx"
233 #define SCNXLEAST32 "lX"
234 #define SCNoFAST32 "lo"
235 #define SCNuFAST32 "lu"
236 #define SCNxFAST32 "lx"
237 #define SCNXFAST32 "lX"
238
239 #define SCNo64 "I64o"
240 #define SCNu64 "I64u"
241 #define SCNx64 "I64x"
242 #define SCNX64 "I64X"
243 #define SCNoLEAST64 "I64o"
244 #define SCNuLEAST64 "I64u"
245 #define SCNxLEAST64 "I64x"
246 #define SCNXLEAST64 "I64X"
247 #define SCNoFAST64 "I64o"
248 #define SCNuFAST64 "I64u"
249 #define SCNxFAST64 "I64x"
250 #define SCNXFAST64 "I64X"
251
252 #define SCNoMAX "I64o"
253 #define SCNuMAX "I64u"
254 #define SCNxMAX "I64x"
255 #define SCNXMAX "I64X"
256
257 #ifdef _WIN64 // [
258 # define SCNoPTR "I64o"
259 # define SCNuPTR "I64u"
260 # define SCNxPTR "I64x"
261 # define SCNXPTR "I64X"
262 #else // _WIN64 ][
263 # define SCNoPTR "lo"
264 # define SCNuPTR "lu"
265 # define SCNxPTR "lx"
266 # define SCNXPTR "lX"
267 #endif // _WIN64 ]
268
269 #endif // __STDC_FORMAT_MACROS ]
270
271 // 7.8.2 Functions for greatest-width integer types
272
273 // 7.8.2.1 The imaxabs function
274 #define imaxabs _abs64
275
276 // 7.8.2.2 The imaxdiv function
277
278 #ifdef _MSC_VER
279 // This is modified version of div() function from Microsoft's div.c found
280 // in %MSVC.NET%\crt\src\div.c
281 #ifdef STATIC_IMAXDIV // [
282 static
283 #else // STATIC_IMAXDIV ][
284 _inline
285 #endif // STATIC_IMAXDIV ]
286 imaxdiv_t __cdecl imaxdiv(intmax_t numer, intmax_t denom)
287 {
288 imaxdiv_t result;
289
290 result.quot = numer / denom;
291 result.rem = numer % denom;
292
293 if (numer < 0 && result.rem > 0) {
294 // did division wrong; must fix up
295 ++result.quot;
296 result.rem -= denom;
297 }
298
299 return result;
300 }
301 #endif // #ifdef _MSC_VER
302
303 // 7.8.2.3 The strtoimax and strtoumax functions
304 #define strtoimax _strtoi64
305 #define strtoumax _strtoui64
306
307 // 7.8.2.4 The wcstoimax and wcstoumax functions
308 #define wcstoimax _wcstoi64
309 #define wcstoumax _wcstoui64
310
311
312 #endif // _MSC_INTTYPES_H_ ]
313
314 #endif // #ifdef _INTTYPES_H_SYS_
315
316 #endif // #ifndef _INTTYPES_H_ALL_

