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

Bibliothèques Discussion :

[PDCurses] Compilation statique via G++


Sujet :

Bibliothèques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Par défaut [PDCurses] Compilation statique via G++
    Bonjour à tous amis développeurs

    Pour faire simple, je suis sous Win7 et Code::Blocks, et je me lance sur un projet console en c++ avec la bibliothèque PDCurses (ayant abandonné notre cher et vieux Conio au profit de quelque chose de plus portable :p).

    Mais voilà, je me retrouve face à un petit problème, mais assez gênant tout de même : je n'arrive pas à compiler une simple appli "Hello world" en statique (dll manquante à l’exécution ). En dynamique avec cette fameuse dll, ça tourne impec.

    Je précise que j'ai récupéré le zip de la v3.4 de PDCurses, et théoriquement je devrais pouvoir lier mon PDCurses.lib en statique. Mais la dll est toujours réclamée (en exécutant depuis l'explorer) .

    Je ne connais pas C::B dans les détails, mais je suis sur d'avoir omis des paramètres fondamentaux...

    Quelqu'un aurait-il une idée ? Par avance je vous remercie.

    Cordialement,

    informatiman

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 129
    Billets dans le blog
    149
    Par défaut
    Bonjour,

    Toujours (sous Windows), il faudra une DLL lorsque vous utilisez une bibliothèque sous forme de .lib (ou .so).
    Il faut compiler en statique pour avoir la bibliothèque directement dans le programme (pour ça, il faut inclure le .a, je pense).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre régulier
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Par défaut
    Bonjour,

    Tout d'abord merci pour ta réponse

    Que veux tu dire exactement ? Que même en liant le .lib et en précisant l'option -static au gcc, il me faudra tout de même la .dll ?

    Ce qui sous-entendrai qu'il me faudrait les sources de PDCurses compilées en statique pour avoir le fichier PDCurses.a et ensuite pouvoir le lier à mon projet directement, si je comprends bien ?

    Cordialement,

    informatiman

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 129
    Billets dans le blog
    149
    Par défaut
    Je pense que l'option -static ne suffit pas. Il faut les .a aussi et s'il ne sont pas dans l'archive de base, alors il faudra recompiler.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Membre régulier
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Par défaut
    Bonjour,

    Alors j'ai eu les sources de PDCurses, et j'ai compilé pour win32 avec l'appli mingw32-make et le makefile pour MinGW, ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mingw32-make -f mingwin32.mak
    Dans le dossier win32, j'ai bien un fichier pdcurses.a et panel.a qui ont été créé, que j'ai link en chemin direct à mon projet sous C::B.

    Mais la compile échoue avec un undefined reference to '_imp__stdsrc'

    Je ne comprends pas, j'ai bien clean et rebuild le mini projet, mais ça passe pas...

    Une petite idée ?

  6. #6
    Membre régulier
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Par défaut
    Visiblement ça serait le getch() qui provoquerait cette erreur de compilation. Voici le main.c :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <curses.h>
     
    int main()
    {	
    	initscr();			/* Start curses mode 		  */
    	printw("Hello World !!!");	/* Print Hello World		  */
    	refresh();			/* Print it on to the real screen */
    	getch();			/* Wait for user input */
    	endwin();			/* End curses mode		  */
     
    	return 0;
    }
    Mon PDCurses.a serait-il inadapté ? Faudrait-il spécifier certains paramètres dans le makefile (fourni d'origine pour win32/MINGW) et recompiler pour sortir un fichier.a correct ?

    En dynamique le même code fonctionne (en linkant le PDCurses.lib)

    Une petite idée ?

  7. #7
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 129
    Billets dans le blog
    149
    Par défaut
    Surement un problème de configuration, mais de là à le trouver ...
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. Réponses: 15
    Dernier message: 20/03/2008, 09h33
  2. compilation IL via ILASM etILDASM
    Par Goldenkiller dans le forum Framework .NET
    Réponses: 6
    Dernier message: 08/02/2008, 09h57
  3. [PRO*C] compilation statique oracle 10g
    Par methosxp dans le forum Interfaces de programmation
    Réponses: 0
    Dernier message: 14/09/2007, 17h59
  4. compiler directement via ld
    Par minirop dans le forum C
    Réponses: 14
    Dernier message: 09/04/2007, 21h02
  5. Réponses: 7
    Dernier message: 11/01/2006, 16h55

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