gcc 支持gmtime_r,在windows mingw32上的时间gm函数

t3psigkw  于 2022-11-13  发布在  Windows
关注(0)|答案(1)|浏览(448)

我试图使用mingw 32端口在Windows下构建遗留C程序。但是gcc编译器通知我以下错误:

gmtime_r(const time_t*, struct tm*); //implicit declaration of function 
timegm(struct tm*); //implicit declaration of function

我试着按照here的建议声明_mkgmtime,但是我得到了同样的声明错误。我也试着按照here的描述声明基于gmtime_sgmtime_r,但是似乎mingw也不支持gmtime_s
有什么想法吗?可能需要把它们换成一些等价物?
微软视窗操作系统-32 gcc 5.3.0-3 windows 7

yrwegjxp

yrwegjxp1#

现在是2022年,GCC-10/MinGW 64的问题依然存在。
解决方法是定义_POSIX_C_SOURCE,从而启用gmtime_r
在命令行上:

x86_64-w64-mingw32-gcc -D_POSIX_C_SOURCE

自动配置/创建:

CFLAGS=-D_POSIX_C_SOURCE

可制造:

add_compile_definitions(_POSIX_C_SOURCE)

相关问题