作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个在实际编译器中运行的 C++ 应用程序(我用 eclipse 编译它)。现在,我需要在 Redhat 7.3 上使用 Kdevelop 在非常旧的编译器版本 (gcc/c++ v2.96) 上编译它。
当我编译应用程序时,出现以下错误:swprintf undeclared。它包含 wchar.h header ,但我在 RH7.3 操作系统中看到了此文件,并且仅在声明了 __USE_UNIX98 __USE_ISOC99 时才声明此函数。
如何启用 __USE_UNIX98?
最佳答案
GNU libc 使用特殊的系统头文件定义了应该在其所有头文件中启用的功能 <features.h>
.如果您定义适当的宏,<features.h>
将定义 __USE_UNIX98
给你。
获取所有函数的典型方法是添加 -D_GNU_SOURCE
,不管它们是什么标准(如果有的话)在命令行上。仅获取特定标准涵盖的功能需要使用该标准中指定的值定义该标准中指定的宏,例如 -D_POSIX_C_SOURCE=200112L
.您的特定实现所支持的精确值可能最容易通过检查 /usr/include/features.h
找到。手动。
关于c++ - 如何启用 _USE_UNIX98 (Gcc/C++ v2.96),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27531005/
我是一名优秀的程序员,十分优秀!