0

我正在使用 C++。我想在 linux 上构建包含 memcpy_s 的代码。我正在使用 gcc 9.3。我做了一些修改。

#ifdef __cplusplus
extern "C" {
#define _STDC_WANT_LIB_EXT1_ 1
#include <string.h>
}
#endif

void doMemCopy(char* buf, size_t buf_size, char* in, int chr) {
    memcpy_s(buf, buf_size, in, chr);
}

我使用 CMakelist 文件,例如:

set(CMAKE_C_FLAGS_RELEASE   "-MD -Ob3 -O2 -fp:fast -JMC- -DNDEBUG -utf-8")
set(CMAKE_CXX_FLAGS_RELEASE "-MD -Ob3 -O2 -fp:fast -JMC- -DNDEBUG -utf-8")

set(CMAKE_C_STANDARD   11)
set(CMAKE_CXX_STANDARD 17)

它给了我这个错误:错误:'memcpy_s'没有在这个范围内声明;您指的是 'memcpy' 吗?我究竟做错了什么。

4

0 回答 0