未解决的外部符号_stricoll

时间:2015-02-10 09:03:01

标签: python c++ windows

我正在将Python库移动到Windows平台,这取决于某些c代码。 但是,我无法在Windows下构建它,并获得:

util.obj : error LNK2019: unresolved external symbol _strtoll

错误的代码是:

x_space[j].index = (INT64)strtoll(idx,&endptr,10);

我的编译器是VS2010,在XP 32bit下使用。 我的make文件是:

CXX = cl.exe
CFLAGS = /nologo /O2 /EHsc /I. /D _WIN32 /D _CRT_SECURE_NO_DEPRECATE
TARGET = .

lib: util.c
$(CXX) $(CFLAGS) -LD util.c /Iliblinear -Fe$(TARGET)\util -link -DEF:util.def

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

Microsoft标准C库不包含strtoll()的定义,该定义从C字符串转换为long long。

MS提供另一个名为_strtoi64()的函数,该函数执行相同的操作,并且具有完全相同的签名 - 只需在MSVC下使用它或为strtoll定义宏。

__int64 _strtoi64(
   const char *nptr,
   char **endptr,
   int base 
);