IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

[VC2005 Express] Problème de déploiement appli Win32 windows


Sujet :

MFC

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut [VC2005 Express] Problème de déploiement appli Win32 windows
    Bonjour,

    Un beau matin en apprenant la disponibilité de VC2005 Express, j'ai décidé de me lancer dans la programmation Win32 sous Windows ...

    - Alors je télécharge VC2005, j’apprend sur ce forum qu’il faut télécharger le SDK pour programmer en Win32 … pas de problème je le fais.
    - Ensuite, je m’aperçois que je ne peux que faire des applications de type console, j’essaye sans trop y croire de compiler le code, bonjour les erreurs. Normal un lien Microsoft m’indique je n’ai fait la manipulation que à moitié.
    - Donc je créé un nouveau projet, Win32->Application Windows->Projet vide, j’apprend sur ce forum que l’utilisation de est le bien venu pour les chaînes de caractères et compile et lie correctement avec une bonne exécution du programme en prime.
    - Maintenant cela fonctionne correctement mais que sur mon poste. Dès que je veux déployer l’exécutable sur un autre poste j’ai un message d’erreur, pourtant je pensais que faisant seulement appel aux API, ce simple logiciel tournerait sur n’importe quel machine ayant les DLL de base …

    Donc dois-je quand même linker en statique ? Si oui comment faire ?
    Ou peut-être la version express est limitée à ce niveau ?

    Merci d’avance pour l’aide.

    voici le code :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #define WIN32_LEAN_AND_MEAN
    #include <windows.h> 	// librairies Windows
     
    int APIENTRY WinMain(HINSTANCE hInstance,
    			HINSTANCE hPrevInstance,
    			LPSTR lpCmdLine,
    			int nCmdShow)
    { 
    	MessageBox(NULL, TEXT("Hello World !!"), TEXT("Mon 1er Programme"), MB_OK);
    	return 0; 
    }

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    Bonjour,
    est-ce que tu as compilé en release ?

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Oui.

    Taille du fichier : 6,00 Ko (6 144 octets).

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    quel est le message d'erreur ?

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Cette application n'a pas pu démarrer car la configuration de l'application est incorrecte. Réinstaller l'application pour résoudre ce problème

  6. #6
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    Oui, faut linker en static (MT). La version Express n'est pas limitée à ce niveau.
    Le problème vient que tu utilises quand même la CRT, sous forme de dll par défaut. Et elle doit être installée sur les postes avec un installeurs.

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci bien ! C'est bien la solution, le fichier est 8 fois plus lourd : propriétés du projet->Configuration Proprieties->C/C++->Code Genration->Runtime Library que l'on passe de /MD à /MT !

    Merci à vous deux pour les réponses rapides et efficaces !

  8. #8
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    L'exe seul peut être, mais tu as oublié de prendre en compte les dlls utilisées dans la version /MD.

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Je ne suis pas certain d'avoir compris donc :

    Mince, je pensais qu'un linkage en static aurait copié le code utilisés des librairies dans l'exe.

    Le tout étant dans une optique pédagogique (ouah ça fait classe !), je pense pour l'instant faire que des applications se résumant à un exe et rien d'autre.

  10. #10
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    Si, tu as compris. Je parlais de dynamique (!= static), où dans ce cas tu es lié à des dll, vu qu'elles sont pas "copiées" dans l'exe comme en static.
    Donc le fichier exe est 8 fois plus lourd, peut être, mais l'application au complet est plus légère, car en dynamique il faut aussi comptabiliser le poids des dlls.

Discussions similaires

  1. [C#] Problème de déploiement d'appli et GAC
    Par NameLess' dans le forum Windows Forms
    Réponses: 4
    Dernier message: 21/07/2008, 16h42
  2. Problème de déploiement avec Windows Installer
    Par vladvad dans le forum Général Dotnet
    Réponses: 10
    Dernier message: 28/03/2008, 04h48
  3. [Qt]Problème d'include sous vc2005 express
    Par Cheps dans le forum VC++ .NET
    Réponses: 6
    Dernier message: 05/10/2006, 09h38
  4. Problème de mon appli sous windows 2000
    Par chourmo dans le forum Langage
    Réponses: 2
    Dernier message: 17/02/2006, 12h03
  5. [VC++ Express] Problème de compilation win32.
    Par fab29000 dans le forum MFC
    Réponses: 1
    Dernier message: 15/02/2006, 20h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo