Eu desenvolvi um aplicativo que depende de um arquivo DLL. Quando depuro meu aplicativo, ele reclama que:
"Esta aplicação falhou ao iniciar porque xxx.dll não foi encontrado."
Então, eu tenho que copiar o arquivo DLL no mesmo diretório do meu arquivo .vcproj.
Existe uma maneira de definir o projeto para procurar o arquivo DLL em (preferencialmente) algum caminho relativo ou (não preferido) algum caminho absoluto?
Conceito semelhante ao modo como definimos o caminho de inclusão e biblioteca nas configurações do projeto.
Quero dizer, quando depuro meu aplicativo (pressionando F5), o erro acima aparece.
visual-studio
visual-c++
dll
sivabudh
fonte
fonte
O caminho de pesquisa que o carregador usa quando você chama LoadLibrary () pode ser alterado usando a função SetDllDirectory () . Então você pode simplesmente chamar isso e adicionar o caminho à sua dependência antes de carregá-lo.
Consulte também Ordem de pesquisa de DLL .
fonte
Percorra as propriedades do projeto -> Caminhos de Referência
Em seguida, adicione uma pasta com as DLLs
fonte
Outra possibilidade seria definir as
Working Directory
opções de depuração como o diretório que possui essa DLL.Editar: eu mencionaria o uso de um arquivo em lotes para iniciar o Visual Studio (e definir a variável PATH no arquivo em lotes). Então, pesquisamos um pouco e constatamos que essa mesma pergunta foi feita há pouco tempo neste post . A resposta sugere a opção de arquivo em lote, bem como as configurações do projeto que aparentemente podem fazer o trabalho (não testei).
fonte
Nas propriedades do projeto (clique com o botão direito do mouse no projeto, clique no botão de propriedade) ▶ Propriedades de configuração ▶ Criar eventos ▶ Eventos pós-compilação ▶ Linha de comando.
Edite e adicione uma instrução à linha de comandos. por exemplo, copie o botan.dll do caminho de origem para o local em que o programa está sendo executado.
fonte
Eu sei que essa pergunta foi respondida anos atrás, mas para aqueles como eu que precisavam mudar onde o depurador inicia o aplicativo, altere a propriedade de comando em Propriedades do projeto -> Depuração.
fonte