Полагаю, что вышеизложенное является результатом статической привязки исполняемого файла?
_s
- это «безопасные» функции, которые Microsoft добавила в библиотеку времени выполнения, чтобы затруднить написание кода с переполнением буфера,Они были добавлены после VC6 (в VS.NET или VS2003), а функции отсутствуют в библиотеках времени выполнения VC6, поэтому ваша ссылка не работает.Единственный способ обойти это - создать полный набор двоичных файлов с VS2005 или с VC6.Последнее, вероятно, не очень хорошая идея, так как для этого потребуется переделать библиотеку, чтобы вместо нее использовать стандартные функции C.
Как правило, не рекомендуется смешивать версии компилятора в статических библиотеках и исполняемых файлах в качестве библиотек времени выполнения.внесите изменения, и у вас останутся такие проблемы.
Вы можете превратить свою библиотеку в DLL, но это открывает еще одну банку с червями ...