Не удалось создать проекты c++ для windows 8.1 в VS2015. Неразрешенный внешний символ _sprintf

Я не могу построить проект VC++, ориентированный на windows 8.1 на компьютере с windows 10. Ошибка, которую я получаю, — «неразрешенный внешний символ _sprintf». Я могу построить проект, только если я изменил целевую платформу на Windows 10 или если я добавил legacy_stdio_definitions.lib. Чего я не хочу делать. Я могу построить этот проект раньше, не делая этого. И мои сотрудники могут создать тот же код в своей машине. Вопрос в том, чего мне не хватает на моей машине?

Я уже пытался обновить visual studio до последней версии. Я также попытался восстановить visual studio из программ и компонентов .

1 ответ

  1. _sprintf определяется в stdio.h. если #include <stdio.h>вы можете использовать его.
    Это старая функция. смотрите здесь
    для получения дополнительной информации об этой функции и ее использовании. C++ имеет шаблонные версии функций, описанных здесь. Эта функция, однако, является частью библиотеки CRT и существует уже довольно долгое время. Проверьте свою связь и убедитесь, что вам нравится CRT, который ее имеет, и в вашем случае это будет legacy_stdio_definitions.движение за освобождение. До изменения целевого объекта сборки он, вероятно, автоматически связывался с проектом,и этот параметр не возвращался к нему при возврате целевого объекта сборки. Ваша проблема, однако, с параметрами проекта, а не visual studio или компилятора это самостоятельно.