2010-02-11 13 views
3

J'ai un projet (com) C++, qui utilise une DLL (.net) C++. Le projet compilait et fonctionnait bien.C++ erreur fatale c1083 projet était bien avant, et maintenant?

Maintenant, tout ce que j'ai fait était d'apporter des modifications à la DLL, et je reçois une erreur fatale c1083- impossible d'ouvrir le fichier stdafx.h - lors de la recompilation de mon projet (com).

Qu'est-ce que cela signifie?

Répondre

1

Recherchez votre stdafx.h. Voici les possibilités:

  1. S'il ne manque pas, essayez de redémarrer votre machine. Vous pouvez également utiliser handle.exe de sysinternals pour savoir qui détient ce fichier.
  2. S'il manque, créez-le. D'autre part, il est possible que votre projet n'utilisait pas initialement des en-têtes précompilés et que l'option ait été activée par erreur. Ainsi, désactivez l'option d'en-tête précompilé dans les propriétés du projet.
0

Si votre include utilise équerres:

#include <stdafx.h> 

... essayez de le changer à utiliser les guillemets à la place:

#include "stdafx.h" 

Les deux sont différents. Lorsque vous utilisez des guillemets, vous dites au compilateur "ok d'abord chercher dans le répertoire local, puis aller dans le chemin de recherche." Mais lorsque vous utilisez des chevrons, vous dites au compilateur "Ne regardez pas dans le répertoire local, recherchez simplement le chemin de recherche." Dans le cas de stdafx.h, vous voulez celui qui fait partie du projet, donc vous voulez d'abord chercher dans le répertoire local.

Ce qui m'amène à une bête noire, mais c'est une histoire pour un autre spectacle ...