从cygwin移动到VisualStudio2013,报错LNK2019,snprintf(),c

moved from cygwin to VisualStudio2013, error LNK2019, snprintf(), c

我正在尝试 运行 使用 MS Visual-Studio 2013 用 c 语言编写的 unix 编译器项目,但我无法消除以下错误:

error LNK2019: unresolved external symbol "_snprintf" referenced in 
    function "PUBLIC void SyntaxError( int Expected, TOKEN CurrentToken )"

如果我做对了,这是一个问题,VisualStudio 无法从 snprintf() 函数中找到 body/declaration,它应该在 stdio.h 中定义。

该项目在 cygwin 上运行良好。我必须在预处理器设置中添加 _CRT_SECURE_NO_WARNINGS 才能做到这一点,但我认为这没有影响。

这是命名函数:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "line.h"
#include "strtab.h"
#include "scanner.h"

[..code..]


PUBLIC void   SyntaxError( int Expected, TOKEN CurrentToken )
{
    char s[M_LINE_WIDTH+2];

    snprintf( s, sizeof(s), "Syntax: Expected %s, got %s\n", Tokens[Expected], Tokens[CurrentToken.code] );
    Error( s, CurrentToken.pos );
}

如果你能帮到我,或者你还有什么需要知道的,请告诉我。现在是我的第 3 天,我 运行 没有想法 ;)。

到目前为止...托比亚斯

此函数在 MSVC 编译器中的名称是 _snprintf() 加下划线。