Dependências de tempo de execução do Visual studio 2015 ou como se livrar do Universal CRT?

Compilei algumas .dll usando o visual studio 2015 e tentei implantar em algumas janelas mais antigas de 7/64 bits. Tentei também adivinhar quais DLLs são necessárias para o aplicativo iniciar e copiar o MSVCP140.DLL & VCRUNTIME140.DLL - mas o aplicativo não pôde carregar a vs2015 dll. Começou a analisar o que está errado - e o walker de dependência mostrou dependências das seguintes DLLs:

API-MS-WIN-CRT-MATH-L1-1-0.DLL
API-MS-WIN-CRT-HEAP-L1-1-0.DLL
API-MS-WIN-CRT-CONVERT-L1-1-0.DLL
API-MS-WIN-CRT-STRING-L1-1-0.DLL
API-MS-WIN-CRT-STDIO-L1-1-0.DLL
API-MS-WIN-CRT-RUNTIME-L1-1-0.DLL
API-MS-WIN-CRT-FILESYSTEM-L1-1-0.DLL
API-MS-WIN-CRT-TIME-L1-1-0.DLL

Isso foi especialmente surpreendente, pois, para meu melhor entendimento, o CRT é responsável por iniciar a dll / exe, não fornece nenhum serviço de nível superior.

Ok, tentei descobrir como se livrar deles ou pelo menos minimizar.

Encontrou um artigo:https://blogs.msdn.microsoft.com/vcblog/2015/03/03/introducing-the-universal-crt/

Ele menciona sobre o lançamento de bibliotecas estáticas - então achei que poderia vincular-me a elas e me livrar do inferno da dependência * L1-1-0.DLL *, mas não importa o que eu tentei - não tive sucesso. Tentei vincular-me ao libvcruntime.lib, libucrt.lib, libcmt.lib, tentei desativar a opção de vinculador "/nodefaultlib:vcruntime.lib" e até tentei incluir o diretório de inclusão $ (UniversalCRT_IncludePath) e também substituindo alguns de define como tentei adivinhar que funciona - nenhuma das minhas tentativas ajudou.

Como solução intermediária, volto a usar o Visual studio 2013, onde as dlls de CRT são apenas duas: msvcp120.dll, msvcr120.dll.

É claro que você provavelmente recomendará instalar os tempos de execução do Visual studio 2015, mas um de nossos requisitos é oferecer suporte a executáveis independentes - que funcionam sem nenhuma instalação -, portanto, instalações adicionais estão fora de questão por enquanto.

Você pode me recomendar outra coisa além de esperar que o Visual studio 2017 chegue?

questionAnswers(4)

yourAnswerToTheQuestion