Meilleur auteur de réponses
Compiler projet CPP de VS2003 sous VS2008

Question
-
Bonjour,
J'ai un problème pour compiler un projet qui compilait bien dans mon ancien environnement mais qui maintenant déconne. C'est un projet en C++. Il me fait l'erreur suivante :
Erreur 1 fatal error C1083: Impossible d'ouvrir le fichier include : 'windows.h' : No such file or directory e:\...\stdafx.h
--> problème de librairie...
Je crois qu'il est nécessaire de paramétrer le compilateur mais je ne sais pas trop comment le faire.
Je constate dans les "propriétés de configuration > C/C++ > Ligne de commande" du projet :
/O2 /Ob1 /I "C:\Program Files\Microsoft Visual Studio 8\VC\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "XGINA_EXPORTS" /D "_VC80_UPGRADE=0x0600" /D "_WINDLL" /D "_MBCS" /GF /FD /EHsc /MT /Gy /Yu"stdafx.h" /Fp".\Release/MonProjet.pch" /Fo".\Release/" /Fd".\Release/" /W3 /nologo /c /TP /errorReport:prompt
Sur mon ancien environnement, c'était :
/O2 /Ob1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "XGINA_EXPORTS" /D "_CRT_SECURE_NO_DEPRECATE" /D "_VC80_UPGRADE=0x0600" /D "_WINDLL" /D "_MBCS" /GF /FD /EHsc /MT /Gy /Yu"stdafx.h" /Fp".\Release/MonProjet.pch" /Fo".\Release/" /Fd".\Release/" /W3 /nologo /c /TP /errorReport:prompt
Est-ce que c'est l'une des différences qui cause le problème ?Ou alors rien à voir, une piste.
Merci à vous.
Message du forum Microsoft
Réponses
-
Bonjour,
De ce que j’ai lu il semble que l’erreur C1083 est générée par une faute faite quand Microsoft Platform SDK est installée. Le plus souvent, la variable d’environnement INCLUDE n’est pas modifiée pour contenir aussi le chemin correspondant pour Microsoft Platform SDK (voir aussi ce lien et cette discussion). Sinon, essayez aussi les solutions proposées sur ce lien.
Merci de tenir la communauté informée sur la suite de vos démarches.
Cordialement,
Cipri
Ciprian DUDUIALA, MSFT  
•Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.
- Marqué comme réponse Ciprian Duduiala lundi 19 septembre 2011 05:30
- Non marqué comme réponse nico.exe jeudi 22 septembre 2011 21:22
- Marqué comme réponse nico.exe jeudi 22 septembre 2011 21:22
-
Bonjour,
Ce n’est pas le SDK Visual Studio 2008 dont vous avez besoin. C’est plutôt Microsoft Platform SDK, qui s’appelle maintenant Microsoft Windows SDK. Pour comprendre les différences vous pouvez consulter cette liste d’où vous pouvez accéder aux pages de téléchargement.
Après relire cette discussion j’ai observé que vos fichiers se trouvent dans C:\Program Files\Microsoft SDKs\Windows\v5.0, donc rc.exe devrait être dans C:\Program Files\Microsoft SDKs\Windows\v5.0\bin, vu que vous utilisez la version 5 de Microsoft Platform SDK.
Sinon, vérifiez dans C:\Program Files\Microsoft SDKs\Windows\ quels sont les versions de Microsoft SDKs que vous avez sur votre ordinateur et essayez retrouver rc.exe dans ces dossiers (comme indiqué dans cette discussion).
Cordialement,
Cipri
Ciprian DUDUIALA, MSFT  
•Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.
- Marqué comme réponse nico.exe samedi 24 septembre 2011 08:57
Toutes les réponses
-
Bonjour,
De ce que j’ai lu il semble que l’erreur C1083 est générée par une faute faite quand Microsoft Platform SDK est installée. Le plus souvent, la variable d’environnement INCLUDE n’est pas modifiée pour contenir aussi le chemin correspondant pour Microsoft Platform SDK (voir aussi ce lien et cette discussion). Sinon, essayez aussi les solutions proposées sur ce lien.
Merci de tenir la communauté informée sur la suite de vos démarches.
Cordialement,
Cipri
Ciprian DUDUIALA, MSFT  
•Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.
- Marqué comme réponse Ciprian Duduiala lundi 19 septembre 2011 05:30
- Non marqué comme réponse nico.exe jeudi 22 septembre 2011 21:22
- Marqué comme réponse nico.exe jeudi 22 septembre 2011 21:22
-
Bonjour Ciprian,
Merci pour vos liens.
J'ai fait les actions suivantes pour arranger mon problème (s'il y a à redire corrigez-moi) :
- Trouver Windows.h dans C:\Program Files\Microsoft SDKs\Windows\v5.0\Include.
- Forcer sa prise en compte par VS :
Outils > Options > Projets et solutions > Répertoires de VC++ > Fichiers include
ajout de : C:\Program Files\Microsoft SDKs\Windows\v5.0\Include
Ensuite, à la compilation j'ai reçu beaucoup de "warning C4996 This function or variable may be unsafe" que j'ai pu rendre silencieux en faisant : Projet > Propriétés > C/C++ > Préprocesseur > Définitions du préprocesseur, ajout de : _CRT_SECURE_NO_WARNINGS.
Ensuite, à la compilation j'avais un warning C4603: '_WIN32_WINNT' : la macro n'est pas définie ou la définition est différente après l'utilisation d'un en-tête précompilé; Que j'ai pu faire taire en rajoutant "#define _WIN32_WINNT 0x0400" dans StdAfx.h.
Mais maintenant j'ai une erreur "Erreur lors de la génération dynamique de 'rc.exe'". Pour cette nouvelle erreur, je viens de trouver un lien très intéressant: lien qui donne plusieurs pistes : variables d'environnements, justesse des paths,...
Mais avant tout, j'essaie de trouver le programme rc.exe dont je trouve la trace dans le BuildLog.htm. Et je n'arrive pas à trouver ce programme... Savez où devrait se trouver RC.EXE ?
Remarquez, CL.EXE se trovue bien dans C:\Program Files\Microsoft Visual Studio 9.0\VC\bin.
Je vous remercie,
Nico
Message du forum Microsoft -
Bonjour,
J’ai trouvé une discussion similaire sur les forums MSDN des Etats-Unis et il semble que rc.exe se trouve dans \Microsoft SDKs\Windows\v6.0A\bin
Cordialement,
Cipri
Ciprian DUDUIALA, MSFT  
•Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.
-
Bonsoir,
excusez mon retour tardif. Mais mon dossier Microsoft SDKs\Windows\v6.0A\bin est vide.
J'ai testé la réinstallation de VS2008.
Puis j'ai testé la réinstallation du SDK trouvé ici.
comment retrouver ce fameux fichiers ?
merci,nico
Message du forum Microsoft -
Bonjour,
Ce n’est pas le SDK Visual Studio 2008 dont vous avez besoin. C’est plutôt Microsoft Platform SDK, qui s’appelle maintenant Microsoft Windows SDK. Pour comprendre les différences vous pouvez consulter cette liste d’où vous pouvez accéder aux pages de téléchargement.
Après relire cette discussion j’ai observé que vos fichiers se trouvent dans C:\Program Files\Microsoft SDKs\Windows\v5.0, donc rc.exe devrait être dans C:\Program Files\Microsoft SDKs\Windows\v5.0\bin, vu que vous utilisez la version 5 de Microsoft Platform SDK.
Sinon, vérifiez dans C:\Program Files\Microsoft SDKs\Windows\ quels sont les versions de Microsoft SDKs que vous avez sur votre ordinateur et essayez retrouver rc.exe dans ces dossiers (comme indiqué dans cette discussion).
Cordialement,
Cipri
Ciprian DUDUIALA, MSFT  
•Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.
- Marqué comme réponse nico.exe samedi 24 septembre 2011 08:57
-
Bonjour Cipri,
Merci pour votre retour.
Le lien avec votre explication sur comment installer le plateform SDK (lien) était très intéressant. C'est ce que j'aurais du lire pour commencer.
En suivant cette explication, j'ai installé le "Windows Server® 2003 R2 Platform SDK" et ajouté le chemin vers les include/lib/bin dans VS2008. Et là... ça compile enfin :) :) :)
Remarquez avec VS2008, j'avais fait l'installation complète en pensant éviter ce genre de problème. J'ai vérifié, après son installation, C:\Program Files\Microsoft SDKs\Windows\v5.0 contient Include et Lib mais pas Bin. Il y a aussi le C:\Program Files\Microsoft SDKs\Windows\v6.0A, qui ne contient qu'un Bin vide et pas de Lib et Include... Comme l'explique votre lien, il faut installer le SDK après.
Enfin, en lisant votre autre lien avec tous les SDK pour m'y retrouver (lien), je constate comme vous l'expliquiez que le Plateform SDK est devenu le Windows SDK et est téléchargeable ici.
Je me demande donc si je peux installer ce SDK en lieu et place du Plateform SDK avec le VS2008? Est-ce que ce sera toujours compatible (je ferais bien le test mais j'ai une très petite bande passante) ?
Enfin, j'ai installé le VS2008 parce qu'on m'a dit que le VS2010 était fort buggé. Est-ce toujours vrai ? Car au point ou j'en suis, je mettrais bien la dernière version de VS pour être tranquille.
En tout cas maintenant, j'ai quelque chose qui fonctionne. Merci Merci !!!
Nico
Message du forum Microsoft -
Bonjour,
De rien… Je suis content de vous avoir aidé.
Vous pouvez voir sur le lien de téléchargement les requis pour installer Microsoft Windows SDK pour Windows 7. Toute dépende sur le SO utilisé et la version VS (dans votre cas 2008 est acceptée).
Concernant la version de Visual Studio j’utilise VS2010 et je vous recommande l’utiliser aussi.
Cordialement,
Cipri
Ciprian DUDUIALA, MSFT  
•Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.
-