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

util.obj : error LNK2019: unresolved external symbol _strtoll

错误的代码是:
x_space[j].index = (INT64)strtoll(idx,&endptr,10);

我的编译器是VS2010,在XP 32位下使用。
我的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

我该如何解决这个问题?

最佳答案

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

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

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

关于python - 未解析的外部符号_stricoll,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28427645/

10-13 06:35