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

duc*_*cii 3 c cygwin stdio linker-errors visual-studio-2013

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

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

如果我做对了,那就是 VisualStudio 无法从snprintf()函数中找到主体/声明的问题,该函数应该在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 );
}
Run Code Online (Sandbox Code Playgroud)

如果你能帮助我,或者还有什么你需要知道的,请告诉我。现在是我的第三天,我的想法快用完了;)。

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

Iha*_*imi 5

带有MSVC编译器的此函数的名称_snprintf()带有下划线。