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

Visual C++ Discussion :

Créer une application "portable"


Sujet :

Visual C++

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Points : 704
    Points
    704
    Par défaut Créer une application "portable"
    Bonjour à tous,

    Je ne suis pas sûr d'être dans le bon forum, mais je vais tout de même tenter ma question.
    Voilà, je travaille avec Visual Studio 2005 Pro, sur une application C/C++ avec une API Windows... Je cherche à faire un exécutable qui serait utilisable sur un grand nombre de machines (On va se limiter à celles possédant windows XP).

    Voilà mon problème : quand je compile mon projet sur mon portable (Double Coeur Intel avec Windows XP Pro), l'éxecutable produit ne fonctionne pas sur mon PC (AMD Simple coeur avec Windows XP Pro).
    D'où ma question : connaissez vous les paramètres de compilations nécessaires pour que mon application soit "portable", et quelles sont les limites de la portabilité (processeur, versions des OS, ...) ?

    Merci de votre précieuse aide.

  2. #2
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 360
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 360
    Points : 20 376
    Points
    20 376
    Par défaut
    Pour la 1000ieme fois que veux-tu dire par "ne fonctionne pas" ? Quels messages d'erreurs ?
    Quel type de projet ? API win32 seule ? C'est prevu de fonctionner sur tous les OS de Microsoft peut importe le processeur...
    l'interface de programmation Windows est "générique" qu'importe que tu aies un bi-processeur , mono etc..
    A moins d'utiliser des API vraiment particulières qui touchent le hardware le bas-niveau mais on n'en sait pas plus

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Points : 704
    Points
    704
    Par défaut
    Tout d'abord, désolé pour le temps de réponse (problèmes de connexion à Internet ...).

    Quels messages d'erreurs ?
    Le message d'erreur qui apparaissait était quelque chose du style : L'application n'est pas conforme, essayez de la réinstaller...

    Quel type de projet ? API win32 seule ?
    C'est une application C/C++ avec tout pleins de bibliothèques : glib, sdl, gecode
    et une API win32 basique

    C'est prevu de fonctionner sur tous les OS de Microsoft peut importe le processeur...
    l'interface de programmation Windows est "générique" qu'importe que tu aies un bi-processeur , mono etc..
    C'est bien ce que je pensais : l'erreur survenue a provoqué mon étonnement!

    Cependant je parle ici au passé, parce-que je viens de refaire un test, et oh, miracle l'appli compilée sur mon portable bi-proc fonctionne sur mon pc mono-proc... Là j'avoue que je n'y comprends plus rien. La différence entre les deux essais, c'est que j'ai installé Microsoft Visual Studio 2005 Pro sur le PC mono-proc (celui qui ne voulait pas de mon appli la semaine dernière)...

    Le problème est que si il faut installer VS2005 pour faire fonctionner mon appli ça va pas être très drôle !!!

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    Le problème est que si il faut installer VS2005 pour faire fonctionner mon appli ça va pas être très drôle !!!
    nan ,
    il faut simplement distribuer la DLL de la CRT VC8.0 ,ou travailler en mode Multithread (/MT)
    http://c.developpez.com/faq/vc/?page=DLL#VC2005VCRedist

  5. #5
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Points : 704
    Points
    704
    Par défaut
    Aussitot dit, aussitot fait! Je viens de tester sur d'autres pc sans VS2005

    Bon mais voilà, j'arrive sur d'autres problèmes ...

    il faut simplement distribuer la DLL de la CRT VC8.0
    Comme ça, ça ne marche pas ... Je ne sais pas ce que l'installer installe, mais ça ne change absolument rien... Le programme recherche des dll introuvables, et quand on les lui donne de force (grace à des dll trouvées sur le net), au final il plante sur une dll non complète ou qui ne correspond pas ...

    ou travailler en mode Multithread (/MT)
    De cette manière mon appli se lance... Mais seulement toutes mes fonctions ne fonctionnent plus... Certaines qui ont pourtant été largement testées de manière isolée, ne répondent plus... C'est assez étrange... En fait, il s'agit de fonctions appelant une bibliothèque C++ dénommée Gecode (Solveur de contraintes)...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Points : 574
    Points
    574
    Par défaut
    Il te faut avoir les dll MFC, ATL et CRT sur ton portable (la redist pour AMD).
    Effectuer aussi une compil AMD de ton projet pour spécifier au manifest que tu n'est pas sur du x86.

  7. #7
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Points : 704
    Points
    704
    Par défaut
    Citation Envoyé par Fabllot
    De cette manière mon appli se lance... Mais seulement toutes mes fonctions ne fonctionnent plus... Certaines qui ont pourtant été largement testées de manière isolée, ne répondent plus... C'est assez étrange... En fait, il s'agit de fonctions appelant une bibliothèque C++ dénommée Gecode (Solveur de contraintes)...
    En fait c'est encore plus marrant que cela! En fait en lançant l'application par VS2005, tout fonctionne parfaitement dans le meilleur des mondes et quand je lance l'exécutable correspondant ... ça ne marche plus ! Là j'avoue je suis blasé...

  8. #8
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Points : 704
    Points
    704
    Par défaut
    Il te faut avoir les dll MFC, ATL
    En fait je n'utilise ni les ATL ni les MFC : j'utilise la librairie standart de l'API développée en C. D'après ce que j'ai compris des MFC ce sont des classes MFC qui utilisent la lib standart C, et mon appli est entièrement en C...

    et CRT sur ton portable (la redist pour AMD).
    Effectuer aussi une compil AMD de ton projet pour spécifier au manifest que tu n'est pas sur du x86.
    Je ne comprends pas bien ce que tu veux dire...

Discussions similaires

  1. [Débutant] Créer une application portable de type "WindowsApplication"
    Par carjo dans le forum VB.NET
    Réponses: 8
    Dernier message: 27/08/2014, 15h00
  2. Créer une application portable
    Par Dramon dans le forum WinDev
    Réponses: 8
    Dernier message: 25/03/2010, 15h49
  3. Comment créer une application portable
    Par orobin dans le forum Framework .NET
    Réponses: 3
    Dernier message: 28/03/2008, 17h04

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