В Visual Studio, чтобы сделать резил, надо поставить генерацию кода в /MT (MultiThreaded), для того, чтобы бинарник запускался на ОС без Visual C++ Redistributable... По крайней мере так было, сейчас сделал то же самое, MSVS 2015, набор инструментов платформы v140. Запустил бинарник на ноуте, где нет Visual Studio, ОС - Windows 7 - вылезло сообщение, что не хватает VCRUNTIME140.DLL...
Есть способ, чтобы компоновать статически все зависимости в бинарник?
Нет, ни MFC, ни CLR. Игнорирована LIBCMT.lib, подключаю GLFW (как раз из за него и игнорирую LIBCMT) и GLEW, но статической линковкой, так что вряд ли в них проблема...
lexdevel: Ищи проблему в подключаемых библиотеках. Для не MFC проектов достаточно поставить /MT, чтобы redist не требовало. Но, если какая-то из библиотек (*.lib или *.dll) не была скомпонована статически, то будет эта ошибка выпрыгивать.
maaGames: Попробую, но вряд ли в них проблема, т.к. уже использовал такой способ при использовании тулсета v120 (дефолтовый для Visual Studio 2013), а сейчас вышла обновленная GLFW, уже с поддержкой тулсета v140... Но меня точно смущает, что требует VCRUNTIME140.DLL.. Спасибо)
lexdevel: Вот прям сейчас у меня есть проект в 2015 студии со статической линковкой. Пришлось сделать статическую компоновку с MFC, Включить /MT и сделать статические сборки curl и boost. Работает без редистов, проверял свежезавиртуаленной семёрке. Т.е. дело точно не в 2015 студии, а проблема либо в используемых библиотеках, либо в настройках.
Ну и, самое главное, убедись, что настроил /MT именно для релизного проекта. Там диалог свойств иногда подтупливает и открывается не на активном проекте, а как ему приспичет.