Я перемещаю библиотеку Python на платформу Windows, которая зависит от некоторого c-кода. Однако мне не удалось построить его под Windows, и получил:нерешенный внешний символ _stricoll
util.obj : error LNK2019: unresolved external symbol _strtoll
Плохой код:
x_space[j].index = (INT64)strtoll(idx,&endptr,10);
Мои Компилятор VS2010, который используется под XP 32bit. И мой файл делают это:
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
Как можно исправить эту проблему?
Функция [ 'strtoll'] (http://en.cppreference.com/w/c/string/byte/strtol) является новым стандартом C99, и до недавнего времени Visual Studio компилятор и стандартная библиотека имела очень небольшую поддержку для C99. На самом деле, [страница MSDN для 'strtoll'] (https://msdn.microsoft.com/en-us/library/dn320180.aspx) сообщает о своей доступности только из VS2013. –