“_snprintf”未在此范围内声明
‘_snprintf’ was not declared in this scope
我正在开发一个链接 hpp 文件的 ffmepg C++ 项目,在 hpp 文件中:
#define snprintf _snprintf
#include <stdio.h>
#include <cstdio>
#include <unistd.h>
include <assert.h>
#if defined _MSC_VER && _MSC_VER >= 1200
#pragma warning( disable: 4244 4510 4512 4610 4146 4996 4005)
#define sprintf sprintf_s
#define _sprintf _sprintf_s
#define _snprintf _snprintf_s
#endif
snprintf (oc->filename, sizeof(oc->filename), "%s", filename);
它给出错误:
‘_snprintf’ was not declared in this scope
很奇怪,错误显示‘_snprintf’,而我使用的是'snprint'。这段代码是别人写的,我没看懂他用的这些#define。如果我删除行 #define sprintf sprintf_s,它会给出错误:
segmentation fault(core dumped)
由于 ffmpeg 与 C++ 不兼容,我在 [=21= 中包含了 stdio.h 和 cstdio ]extern C 和 out of extern C,但是错误继续显示出来。问题是什么?如何解决?
首先改变这一行
include <assert.h>
与:
#include <assert.h>
并写下这一行
#define snprintf _snprintf
包含并尝试编译代码后
我正在开发一个链接 hpp 文件的 ffmepg C++ 项目,在 hpp 文件中:
#define snprintf _snprintf
#include <stdio.h>
#include <cstdio>
#include <unistd.h>
include <assert.h>
#if defined _MSC_VER && _MSC_VER >= 1200
#pragma warning( disable: 4244 4510 4512 4610 4146 4996 4005)
#define sprintf sprintf_s
#define _sprintf _sprintf_s
#define _snprintf _snprintf_s
#endif
snprintf (oc->filename, sizeof(oc->filename), "%s", filename);
它给出错误:
‘_snprintf’ was not declared in this scope
很奇怪,错误显示‘_snprintf’,而我使用的是'snprint'。这段代码是别人写的,我没看懂他用的这些#define。如果我删除行 #define sprintf sprintf_s,它会给出错误:
segmentation fault(core dumped)
由于 ffmpeg 与 C++ 不兼容,我在 [=21= 中包含了 stdio.h 和 cstdio ]extern C 和 out of extern C,但是错误继续显示出来。问题是什么?如何解决?
首先改变这一行
include <assert.h>
与:
#include <assert.h>
并写下这一行
#define snprintf _snprintf
包含并尝试编译代码后