Question

J'essaie de démarrer un programme en utilisant QProcess (Qt4.4 sur vista64bit, en développement sous MSVC2005). Le programme n’est pas dans le chemin, j’ai donc essayé d’ajouter le répertoire dans lequel se trouve le programme dans l’environnement QProcess, de la même manière que ce qui est démontré dans la documentation de QProcess :: setEnvironment .

Malheureusement, le programme n'a pas démarré, apparemment parce que l'exécutable est introuvable dans le chemin. est-ce un problème connu? Est-ce que je fais quelque chose de mal?

J'ai vérifié que le chemin d'accès était défini en imprimant l'environnement QProcess après l'ajout du chemin d'accès.

Il existe deux solutions de contournement: la première consiste à démarrer le programme avec le chemin complet, la seconde à ajouter le répertoire au chemin avant de lancer le fichier exécutable, mais je ne souhaite pas non plus utiliser.

Était-ce utile?

La solution

QProcess :: setEnvironment () affecte uniquement l'environnement du processus en cours de génération, pas le contexte dans lequel la création est gérée. Vous devez modifier l'environnement actuel pour pouvoir trouver l'application que vous êtes en train de générer (utilisez :: SetEnvironmentVariable () pour commencer).

La recherche du fichier d'application est décrite dans la documentation de CreateProcess API.

Vérifiez ce pointeur pour un exemple de scénario.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top