2015-04-19 28 views
3

我試圖運行一個unix編譯器項目用C編寫的MS Visual-Studio 2013,我無法擺脫下面的錯誤: 從cygwin移到VisualStudio2013,錯誤LNK2019,snprintf(),c

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

如果我得到它的權利是其中的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); 
} 

如果你能幫助我,或有其他任何你需要知道的請告訴我。這是我現在的第三天,我已經沒有想法了)。

到目前爲止...托比亞斯

回答

4

MSVC編譯器這個函數的名稱是_snprintf()以下劃線。

+0

哦,我的壞人。有一個我不記得的secound功能。有效。太感謝了!!!你救了我的一天! – ducii