我将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/