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

 C++ Discussion :

Portage de linux vers windows d'une bibliothèque


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 46
    Points : 0
    Points
    0
    Par défaut Portage de linux vers windows d'une bibliothèque
    bonjour ,
    j'ai un projet de fin d'études qui consiste à la réalisation du portage de Linux vers Windows d'une bibliothèque d'opérateurs d'extraction et de reconnaissance de point d'intérêt, donc si le vous plait est ce qu'il y a quelqu'un qui peut m'aider et me dire comment je peux faire ce portage

  2. #2
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 602
    Points : 7 837
    Points
    7 837
    Par défaut
    Ce n'est surement pas là qu'on pourra te répondre ! Mais pour pouvoir peut-être te dire où aller, tu peux en dire plus sur ta bibliothèque ! Elle est pour quel langage ?

    Ceci dit, je dirais que ce travail n'est pas à faire, il suffit de porter les clients Windows sous Linux ! Ce serait une mien meilleure action !

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 46
    Points : 0
    Points
    0
    Par défaut
    Bonjour
    la bibliothèque est déjà développé sous Linux en C++ et l'objectif consiste en la réalisation du portage de Linux vers Windows en préservant voire en améliorant les performances temporelles.
    Donc Monsieur je me demande si vous pouvez bien m’aider dans ce travail surtout que j’ai jamais fais un portage d’un OS sur un autre et que je trouve beaucoup de difficulté pour trouver des documentations sur ce type de portage.

  4. #4
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 129
    Points
    28 129
    Par défaut
    Bonjour,

    Citation Envoyé par shadowless Voir le message
    la bibliothèque Linux est en C++ et l'objectif consiste en la réalisation du portage de Linux vers Windows en préservant voire en améliorant les performances temporelles.
    Si elle respecte la norme C++, il te suffit de recompiler sous Windows. Si ce n'est pas le cas, il faut que tu trouves les dependances externes de ton code (Boost ? GTK ? QT ? ...), et que tu trouves l'equivalent sous Windows, s'il existe. S'il n'existe pas, soit tu prends un autre framework, soit tu redeveloppes les fonctionnalites.

  5. #5
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 031
    Points : 11 474
    Points
    11 474
    Billets dans le blog
    11
    Par défaut
    Ca peut ne pas nous plaire, mais c'est un projet d'etudes, donc il n'a pas trop le choix, il faut qu'il le fasse.
    Déjà, pour faciliter ton portage de Linux vers Windows, je te conseille de télécharger et installer MingWin, qui te permettra d'avoir un compilateur identique (gcc) de pouvoir faire './configure' et 'make'.
    Ensuite il faut tenter une premiere compilation, afin de savoir s'il y a des problemes ou non.
    S'il y a des problèmes de compil, il faut creuser plus avant : voir à quoi correspondent les erreurs de compilation (fonction spécifique linux utilisée ? dépendance à une lib que tu n'as pas installée ...)
    Enfin, quand la compilation se déroule correctement, il faut tester ta bibliothèque avec une application portable, afin de voir si le comportement est le même soue linux et sous windows.

  6. #6
    Expert confirmé Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Points : 5 382
    Points
    5 382
    Par défaut
    C'est vrai, il va falloir détailler ton portage.

    Que te demande-t-on sous Windows ? As-tu une contrainte sur le choix du compilateur ?

    Ton portage semble être assez bas niveau (pas d'IHM), ça peut faciliter la tâche (avec la solution de dragonjoker59).

    Pour les perfs ca va être compliqué de faire mieux, à moins d'être sous Linux 32bit et Windows 64bit.

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 46
    Points : 0
    Points
    0
    Par défaut
    Bonjour tous le monde,
    le développement de la bibliothèque sur linux ce n'est pas moi qu'il l'a fait , mais c'est le laboratoire ou je fais mon stage et apparemment ça respecte les normes de C++ par ce que la compilation se déroule correctement sur Windows et sans erreurs et ça me génère un fichier .exe que je teste avec des photo .pgm et il me donne tous les point d'interet sur ces photos , alors que sur windows ce n'est pas le même comportement , ça compile correctement mais ça donne rien.
    [IMG]C:\Users\EL HAJJAJI\Desktop\toto.jpg[/IMG]

  8. #8
    Expert confirmé Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Points : 5 382
    Points
    5 382
    Par défaut
    Wahou !!!

    Ca compile et build, mais ca ne marche pas !!!

    Ca va être coton de savoir où ca merde!

    Quand tu compiles sous Windows tu n'aurais pas des warnings qui pourrait te dire que quelque chose est louche ?

    tu compiles avec quoi sous Windows ?

  9. #9
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 031
    Points : 11 474
    Points
    11 474
    Billets dans le blog
    11
    Par défaut
    Comme le comportement est différent, il va te falloir modifier un peu le code pour avoir des indications sur les actions effectuées (logging en fichier ou dans la console dos/terminal).
    Il faut bien que tu modifies le code linux et windows en parallèle afin de bien tracer les comportements différents sur les 2.

    PS : Pour ton image, il faut que tu la fasses héberger avant de tenter d'en mettre le lien dans un post.

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 46
    Points : 0
    Points
    0
    Par défaut
    @ fregolo52: je compile avec DEV C++ ça me donne rien ni warnings ni erreurs , juste un fichier.exe qui tourne bien avec des photos sur linux et non plus sur windows.

    @ dragonjoker59: j'ai installé MingWin comme vous me l'avez recommandé et j ai commencé de lire un peu sur BOOSt pcq ils m ont dit au labo que c 'est préférable de travailler avec , mais le problème comme j ai dit que ce n est pas moi qui l'a développé sur linux et ça contient beaucoup de fichier alors que c est toujours difficile de comprendre et de reécrire le code source de quelqu'un d'autre .
    si vous voulez je vous envois un lien pour télécharger cette biblio et prendre une idée plus claire

  11. #11
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 031
    Points : 11 474
    Points
    11 474
    Billets dans le blog
    11
    Par défaut
    Euh, pourquoi utiliser boost si la librairie que tu dois porter ne l'utilise pas ?
    A part ça, vu que tu n'as pas de problèmes pour compiler avec MingWin et DevCpp (qui est obsolète, soit dit en passant), je te conseille de passer sous Code::Blocks et d'utiliser le debugger qui est disponible avec. Sinon, pour debugger toujours, tu peux télécharger un Visual Studio express, qui est gratuit et te permettra lui aussi de débugger correctement ton appli, par contre ce n'est pas le même compilateur, donc tu auras peut être des problèmes (ou pas).

  12. #12
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 265
    Points : 6 686
    Points
    6 686
    Billets dans le blog
    2
    Par défaut
    Nan mais là tu n'as pas le choix, il faut débugger en pas à pas, trouver à quel moment le programme ne fais pas ce qu'il devrait faire, puis le corriger.

    Je soupçonne fortement une histoire de chemins (path) inccorect. Par exemple, le path du fichier à analyser...

    ps: déjà si ton programme a compilé direct sous windows alors qu'il a été développé sous linux, ça veut dire qu'il a été bien programmé. Ce qui donne bon espoir pour la suite, et qui est suffisemment rare pour être noté. Tu féliciteras donc les gens qui l'ont écrit; de la part des programmeurs de developpez.com

  13. #13
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 46
    Points : 0
    Points
    0
    Par défaut
    Bonjour tous le monde
    @(dragonjoker59,r0d)

    j'ai essayé de faire qq modifications et se débarrasser des dépendance externe (Boost) et comme vous disez je crois qu'il faut exécuter les 2 programmes "sur LINUX et windows " c'est pour cela j'ai installer une version virtuel de Ubunto pour travailler en même temps et faire des tests pour observer les différences aux différentes étapes du programme et donc (par dichotomie), identifier les parties qui ont un comportement différent, puis corriger

    sauf que j'ai essayé de faire du debug sur cood::blocks mais ça pas tourner ( build je fais debug apres et je choisi un breakpoint mais ça donne rien et parfois ça me donne cette erreur
    Error creating process C:\Users\EL HAJJAJI\Desktop\toto c-cpp\Harris eric\libSSE\toto\harris/bin/Debug/harris.exe, (error 193).))

    d'autre part je sais pas comment faire de debug sur linux tant que je compile le projet qu'avec makefile

  14. #14
    Expert confirmé Avatar de ManusDei
    Homme Profil pro
    vilain troll de l'UE
    Inscrit en
    Février 2010
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : vilain troll de l'UE

    Informations forums :
    Inscription : Février 2010
    Messages : 1 619
    Points : 4 352
    Points
    4 352
    Par défaut
    D'après la doc windows sur les erreurs http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

    ERROR_BAD_EXE_FORMAT
    193 (0xC1) %1 is not a valid Win32 application.

    ton exe n'est pas un exe compatible win32.
    Ce qui ne me choque pas, la bibliothèque win32 offre une partie des outils nécessaires à un portage, mais pas tout, donc tu as peut-être des résultats fantaisistes qui se baladent. Surtout si il y a des cast dans le programme, ce qui n'est pas à exclure.

    Ce que j'ai fait dans une situation similaire (breakpoint qui marchent pas), ça a été de placer des cout identifiables dans le code ( cout << nom_fichier.cpp << blabla_numeroté << endl, pour repérer les endroits où ça plante, avec aussi l'affichage du résultat de GetLastError().

  15. #15
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 46
    Points : 0
    Points
    0
    Par défaut
    svp est ce qu'il y a pas quelqu'un qui peut savoir comment faire

  16. #16
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 265
    Points : 6 686
    Points
    6 686
    Billets dans le blog
    2
    Par défaut
    Ouvre Code::Blocks, crée un nouveau projet, et choisi le type de projet (dont je ne me souviens pas le nom exact) "à partir d'un makefile".

  17. #17
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 46
    Points : 0
    Points
    0
    Par défaut
    bah non , d'après les tutoriel que j'ai vus , il faut juste faire build , choisir un point de depart et vommencer le debug apres selon le type que vous voulez mais chez moi ça ne fonctione pas et ça me donne cette erreur

    Error creating process C:\Users\EL HAJJAJI\Desktop\toto c-cpp\Harris eric\libSSE\toto\harris/bin/Debug/harris.exe, (error 193).))

  18. #18
    Expert confirmé Avatar de ManusDei
    Homme Profil pro
    vilain troll de l'UE
    Inscrit en
    Février 2010
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : vilain troll de l'UE

    Informations forums :
    Inscription : Février 2010
    Messages : 1 619
    Points : 4 352
    Points
    4 352
    Par défaut
    1. Tu dois compiler en mode Debug (et pas en mode Release), sinon le debugger est inutile (mais ça on dirait que c'est le cas).

    2. Ton erreur, c'est à l'exécution ? Il faut que tu retrouves dans le code à quel endroit arrive ce bug. Si tu ne peux pas lancer le debugger, faut que tu mettes des printf ou des cout pour voir où ça plante.


    Sinon on ne peut rien pour toi.

  19. #19
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 031
    Points : 11 474
    Points
    11 474
    Billets dans le blog
    11
    Par défaut
    Sinon, tu peux essayer la compil avec Visual Studio je pense que le debugger est utilisable en version Express.

  20. #20
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 46
    Points : 0
    Points
    0
    Par défaut
    j ai pu enfin faire du debug avec code::block mais si le vous plait est ce qu il y quelqu'un qui peut me dire comment faire du debug sous linux tant que c'est la seule moyenne qui me reste pour résoudre ce problème de portage et de comparer sur chaque stade pour savoir ou ça diffèrent entre les deux plateforme

Discussions similaires

  1. Porter une application de Linux vers Windows
    Par EricPellegrini dans le forum Choisir un environnement de développement
    Réponses: 1
    Dernier message: 25/02/2014, 00h31
  2. debogage et portage d'une biblio de linux vers windows
    Par shadowless dans le forum Langage
    Réponses: 3
    Dernier message: 03/05/2011, 09h08
  3. Problème portage code Linux vers Windows
    Par scary dans le forum Windows
    Réponses: 14
    Dernier message: 11/01/2010, 17h56
  4. problème portage ioctl socket Linux vers Windows
    Par progfou dans le forum Réseau
    Réponses: 19
    Dernier message: 06/10/2009, 19h44
  5. Problème de portage Linux vers Windows, wxwidgets
    Par zoom* dans le forum wxWidgets
    Réponses: 6
    Dernier message: 22/07/2008, 09h59

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