2013-04-09 2 views
1

Lors de l'exécution de ma version de débogage de l'application Visual Studio C++ via VS2010 par Project Only> ProjectName, l'exe généré s'exécute correctement. Cependant, lorsque je produis une version de sortie et allez dans le dossier où le fichier EXE est créé, je reçois l'erreur suivante:La version de débogage s'exécute mais la version donne 0xc000007b - dll manquantes?

The application was unable to start correctly (0xc000007b). Click Ok to close the application 

Les fichiers dans le dossier est que le fichier exe alors que mon projet utilise diverses bibliothèques Boost. Est-il possible que ce soit le fait de donner ce message à cause des dll de boost manquantes? Est-il un moyen de faire le compilateur coller toutes les DLL nécessaires dans le dossier exe.

Est-il possible de lancer la version de VS2010 comme nous avons pour la version de débogage comme dans Debug >> Lancer une nouvelle instance

Répondre

1

Je déteste quand cela se produit. Il pourrait être le fait qu'il manque les DLL de bloost: la manière la plus simple de résoudre ce problème consiste à ajouter le dossier à la variable d'environnement Path. Malheureusement, nous n'avons pas assez d'informations de votre message pour confirmer que c'est le problème. D'autres problèmes courants incluent: vous liez des bibliothèques construites pour une architecture différente/utilisez une bibliothèque d'exécution différente, il vous manque d'autres DLLs tierces, le fichier .lib que vous avez utilisé dans l'éditeur de liens pointe vers une version différente du code que la DLL que vous pointez sur ... la liste continue. En ce qui concerne la copie des dll à l'exécution, vous pouvez le faire en utilisant les événements de génération personnalisés [http://msdn.microsoft.com/fr-fr/library/e85wte0k%28v=vs.80%29.aspx]. . Il suffit d'écrire un script batch qui copie les dll en tant qu '"événement Post Build" et vous devriez être prêt à partir, mais je suggérerais d'abord le chemin.

+1

Est-il possible de vérifier quels fichiers dll sont requis par un exe? – MistyD

+1

@MistyD - use depends.exe – user93353

+0

@MistyD, [Depends] (http://www.dependencywalker.com/) est un très bon outil. – IdeaHat

Questions connexes