Compilando DX aplicativo 9.0c contra March09SDK => Não é possível executar com DX mais velho DLLs 9.0c => Problema :)

StackOverflow https://stackoverflow.com/questions/1018872

  •  06-07-2019
  •  | 
  •  

Pergunta

Eu sou incapaz de fazer um cenário de assunto.

Eu tenho DirectX 09 março de 2009 SDK instalado, que é 9, "sub" -version c, mas "sub-sub" -version é 41, então libs (d3d9.lib d3dx9.lib) estão ligando exportações para dxd3d_41. dll.

O que acontece quando tento executar meu aplicativo na máquina que tem, mas não DX9.0c redistribuível a partir de Março 2009 é agora óbvio :), ele falha porque não pode encontrar dxd3d_41.dll.

Qual é a solução padrão para este problema? Como vou para compilar meu aplicativo para ser apoiada por todas as máquinas que têm DX 9.0c? É que mesmo viável?

Thanx

Foi útil?

Solução

Você precisa instalar o tempo de execução que corresponde ao SDK que você usar para compilar.

A única maneira de forçar isso para funcionar em máquinas todos com DirectX9c instalado é usar um SDK de idade (o primeiro SDK 9.0c). No entanto, eu recomendo fortemente evitar este. Você é muito melhor fora apenas usando March 09, e instalar os tempos de execução de Março juntamente com a instalação do aplicativo.

Outras dicas

A solução mais simples é ligar para o usuário final runtime atualizador Microsoft DirectX na sua página de download e dizer às pessoas para executar este primeiro para se certificar de que os componentes de tempo de execução estão atualizados antes de instalar o aplicativo.

Depois disso, a próxima coisa mais simples é o de agregar o atualizador de tempo de execução necessário com a sua aplicação e tem usuários executá-lo antes de executar o instalador.

Tudo isso está documentado na documentação do SDK.

são de que se você ligar para d3dx9 então você são esperados As regras para lidar com certificando-se de que os componentes de tempo de execução redist necessários estão instalados.

Tenha uma olhada na página de 'Instalação DirectX para Game Developers' nos docs DXSDK.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top