我将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()
,该功能执行相同的操作,并且具有完全相同的签名-只需使用它或strtoll
在MSVC下定义一个宏即可。
__int64 _strtoi64(
const char *nptr,
char **endptr,
int base
);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句