从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()
加下划线。
我正在尝试 运行 使用 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()
加下划线。