最近在折腾一个Python库到windows的迁移,底层用了一些C依赖,各种不懂。错误栈显示如下:util.obj:errorLNK2019:无法解析的外部符号_strtoll,该符号在函数_read_problem中被引用.\util.dll:fatalerrorLNK1120:1个无法解析的外部命令NMAKE:fatalerrorU1077:“"C:\ProgramFiles\MicrosoftVisualStudio10.0\VC\BIN\cl.exe"”:返回代码“0x2”报错的代码在这里:x_space[j].index=(INT64)strtoll(idx,&endptr,10);用的编译器是VS2010,Makefile是这么写的:CXX=cl.exeCFLAGS=/nologo/O2/EHsc/I./D_WIN32/D_CRT_SECURE_NO_DEPRECATETARGET=.lib:util.c$(CXX)$(CFLAGS)-LDutil.c/Iliblinear-Fe$(TARGET)\util-link-DEF:util.def此前用过一次mingw,是能通过的。求问怎么解决VS2010下的编译问题?
2 回答
慕村9548890
TA贡献1884条经验 获得超4个赞
八成是你的环境变量设置问题,VS没找到标准库。确保你是使用VisualStudioCommandPrompt打开的命令行窗口,或者在执行命令前执行一下vcvarsall.bat,执行方法详见MSDN文档。
慕运维8079593
TA贡献1876条经验 获得超5个赞
搬砖一下stackoverflow得到的答案:微软的标准C库并不包含strtoll()这样的将C的字符串转化为longlong型的函数,但微软提供了另一个替代品:_strtoi64()详细链接
添加回答
举报
0/150
提交
取消