142 votes

Pourquoi l'erreur fatale "LNK1104 : cannot open file ' C:\Program.obj '" se produit lorsque je compile un projet C++ dans Visual Studio ?

J'ai créé un nouveau projet C++ dans Visual Studio 2008. Aucun code n'a encore été écrit ; seuls les paramètres du projet ont été modifiés.

Lorsque je compile le projet, je reçois l'erreur fatale suivante :

fatal error LNK1104 : cannot open file ' C:\Program.obj '

4voto

J'ai eu le même problème, mais la solution à mon cas ne figure pas dans les réponses. Mon programme antivirus (AVG) a déterminé que le fichier MyProg.exe comme un virus et le mettre dans la "réserve de virus". Vous devez vérifier cet entrepôt et si le fichier s'y trouve, il suffit de le restaurer. Cela m'a aidé.

4voto

harsini Points 56

J'ai eu le même problème, causé par un "," dans le nom d'un dossier du chemin de la bibliothèque additionnelle, résolu en changeant le chemin de la bibliothèque additionnelle.

4voto

Lissandro Points 16

Solution 1 (pour mon cas) : redémarrer le processus de l'Explorateur Windows (oui, le gestionnaire de fichiers de Windows).

Solution 2 :

  1. Fermer Visual Studio. Déconnexion de Windows
  2. Se connecter, rouvrir Visual Studio
  3. Construire comme d'habitude. Il se construit maintenant et peut accéder au fichier problématique.

Je suppose que parfois le système de fichiers ou celui qui le contrôle se perd dans ses permissions. Avant de redémarrer la session Windows, j'ai essayé de tuer le zombie. msbuild32.exe processus, redémarrer visual studio, vérifier qu'aucun ne montre même le fichier à problème sur. Aucun problème de configuration de construction. Cela arrive de temps en temps. Un truc interne à Windows ne s'arrange pas, il faut redémarrer.

0 votes

J'avais ce problème avec VS2019... cela l'a résolu... étonnant que les bugs persistent. thx

3voto

Newtopian Points 3335

Dans mon cas, il s'agissait d'une référence mal orientée. Le projet faisait référence à la sortie d'un autre projet, mais ce dernier ne produisait pas le fichier recherché par le premier.

2voto

Matthias Points 1559

J'ai eu la même erreur, mais avec un paquet Nuget que j'avais installé (un qui n'est pas seulement un en-tête) et que j'ai ensuite essayé de désinstaller.
Le problème pour moi était que j'incluais toujours un en-tête pour le paquet que je venais de désinstaller dans l'un de mes fichiers .cpp (assez bête, oui).
J'ai même supprimé le lien vers les répertoires de bibliothèque supplémentaires dans Project -> Properties -> Linker -> General mais bien sûr en vain puisque j'essayais toujours de référencer l'en-tête inexistant.

Un message d'erreur déroutant dans ce cas, puisque le nom de l'en-tête était <boost/filesystem.hpp> mais l'erreur m'a donné "cannot open file 'llibboost_filesystem-vc140-mt-gd-1_59.lib'" et aucun numéro de ligne ou autre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X