我收到错误“未知类型名称'uint32_t'”并包含stdint.h。 uint8_t不会抛出错误,也不会抛出uint16_t。
我正在使用MinGW和以下制作线:
# Build for Windows under MinGW
#MINGWDBG= -DDEBUG -O0
MINGWDBG= -DNDEBUG -Os
#MINGWOPT= -W -Wall -mthreads -Wl,--subsystem,console $(MINGWDBG) -DHAVE_STDINT
MINGWOPT= -W -Wall -mthreads -Wl,--subsystem,windows $(MINGWDBG)
mingw:
windres win32\res.rc win32\res.o
gcc $(MINGWOPT) mongoose.c -lws2_32 \
-shared -Wl,--out-implib=$(PROG).lib -o $(PROG).dll
gcc $(MINGWOPT) mongoose.c main.c win32\res.o -lws2_32 -ladvapi32 \
-o $(PROG).exe
因为有些人喜欢看代码:
uint32_t function(void) {
return VALUE;
}
包括:
#include <stdio.h>
#include <string.h>
#include "mongoose.h"
#include "main.h"
#include <stdint.h>
答案 0 :(得分:5)
要回答我自己的问题,改变包含的顺序似乎就可以了。
答案 1 :(得分:1)
如果
#include "main.h"
#include <stdint.h>
没有用,但是
#include <stdint.h>
#include "main.h"
确实如此,您的 main.h
文件很可能依赖于 stdint.h
。这意味着您应该将 #include <stdint.h>
添加到 main.h
。