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

Qt Discussion :

[QExtSerialPort] Installation sous VS2k8 et XP


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Freelance
    Inscrit en
    Décembre 2003
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 423
    Par défaut [QExtSerialPort] Installation sous VS2k8 et XP
    Bonjour à tous,

    Avant tout, je précise peut-être mon contexte :
    J'utilise la dernière version de Qt.
    Pour des contraintes techniques, je suis sous l'environnement Visual Studio (avec Qt). Pour cela, j'ai suivi les instructions qui ont consisté à recompiler Qt pour VS. Jusqu'à présent, à part une intégration perfectible, je n'ai pas eu de soucis.

    Seulement maintenant j'aimerai utiliser le composant externe QExtSerialPort. Comment faire pour pouvoir l'intégrer à mon projet ?
    J'ai pour le moment téléchargé l'archive de la dite librairie. Je l'ai décompressé puis j'ai exécuté les commandes qmake et mingw32-make

    Cela m'a créé des fichiers .dll et .a

    Sauf que moi, j'aurais besoin des fichiers .lib.

    Que dois-je faire pour que la compilation de QExtSerialPort me génère ces fichiers .lib ?


    Merci de m'avoir lu et de me répondre

  2. #2
    Membre éclairé
    Homme Profil pro
    Freelance
    Inscrit en
    Décembre 2003
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 423
    Par défaut
    Désolé,

    Je me réponds à moi-même ... Il semble que j'ai trouvé la solution (j'avais oublié l'interpréteur de commande avec les options de VS).

    Je vérifie que tout fonctionne et je viens poster ma solution intégrale ici

  3. #3
    Membre éclairé
    Homme Profil pro
    Freelance
    Inscrit en
    Décembre 2003
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 423
    Par défaut
    Je retire ce que j'ai dit ... je n'y arrive pas ...

    Je vais peut-être essayer de donner plus de détails pour que les gens puissent comprendre mon soucis :

    Mon objectif : pouvoir utiliser le composant QExtSerialPort

    Je travaille avec la dernière version de Qt recompilé pour l'IDE (et surtout le compilateur) de Visual Studio 2008.

    Jusqu'à présent je n'ai pas eu de soucis pour travailler avec Qt et même d'autres librairies externes (OpenCV par exemple) suite à ces manipulations.

    Maintenant j'aimerai utiliser QExtSerialPort. J'ai beau essayer plusieurs choses, je n'y arrive pas :

    1) j'ai essayé de simplement inclure les fichiers sources dans mon projet et de compiler ... Cela n'a pas marché ... En regardant de plus près au code concernant le composant c'est tout à fait logique (il s'agit en fait d'un projet devant être compilé pour fournir des DLL si je ne m'abuse).

    J'ai donc voulu compiler tout ça ...

    Mon premier réflexe a été d'utiliser l 'invite de commande de Qt. De faire qmake puis mingw32-make
    Le résultat est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    Setting up a MinGW/Qt only environment...
    -- QTDIR set to C:\Qt\2010.02.1\qt
    -- PATH set to C:\Qt\2010.02.1\qt\bin
    -- Adding C:\Qt\2010.02.1\bin to PATH
    -- Adding C:\WINDOWS\System32 to PATH
    -- QMAKESPEC set to win32-g++
     
    C:\Qt\2010.02.1\qt>
    cd ...
    C:\Documents and Settings\user\Bureau\qextserialport_hg\src>qmake
     
    C:\Documents and Settings\user\Bureau\qextserialport_hg\src>mingw32-make
    mingw32-make -f Makefile.Debug
    mingw32-make[1]: Entering directory `C:/Documents and Settings/user/Bureau/qexts
    erialport_hg/src'
    g++ -c -g -Wall -frtti -fexceptions -mthreads -DUNICODE -DQT_LARGEFILE_SUPPORT -
    DQEXTSERIALPORT_LIB -DWINVER=0x0501 -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THR
    EAD_SUPPORT -I"c:\Qt\2010.02.1\qt\include\QtCore" -I"c:\Qt\2010.02.1\qt\include\
    QtGui" -I"c:\Qt\2010.02.1\qt\include" -I"c:\Qt\2010.02.1\qt\include\ActiveQt" -I
    "tmp" -I"c:\Qt\2010.02.1\qt\mkspecs\win32-g++" -o tmp\qextserialport.o qextseria
    lport.cpp
    g++ -c -g -Wall -frtti -fexceptions -mthreads -DUNICODE -DQT_LARGEFILE_SUPPORT -
    DQEXTSERIALPORT_LIB -DWINVER=0x0501 -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THR
    EAD_SUPPORT -I"c:\Qt\2010.02.1\qt\include\QtCore" -I"c:\Qt\2010.02.1\qt\include\
    QtGui" -I"c:\Qt\2010.02.1\qt\include" -I"c:\Qt\2010.02.1\qt\include\ActiveQt" -I
    "tmp" -I"c:\Qt\2010.02.1\qt\mkspecs\win32-g++" -o tmp\win_qextserialport.o win_q
    extserialport.cpp
    g++ -c -g -Wall -frtti -fexceptions -mthreads -DUNICODE -DQT_LARGEFILE_SUPPORT -
    DQEXTSERIALPORT_LIB -DWINVER=0x0501 -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THR
    EAD_SUPPORT -I"c:\Qt\2010.02.1\qt\include\QtCore" -I"c:\Qt\2010.02.1\qt\include\
    QtGui" -I"c:\Qt\2010.02.1\qt\include" -I"c:\Qt\2010.02.1\qt\include\ActiveQt" -I
    "tmp" -I"c:\Qt\2010.02.1\qt\mkspecs\win32-g++" -o tmp\qextserialenumerator_win.o
     qextserialenumerator_win.cpp
    C:\Qt\2010.02.1\qt\bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQEXTSERIALPORT
    _LIB -DWINVER=0x0501 -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"
    c:\Qt\2010.02.1\qt\include\QtCore" -I"c:\Qt\2010.02.1\qt\include\QtGui" -I"c:\Qt
    \2010.02.1\qt\include" -I"c:\Qt\2010.02.1\qt\include\ActiveQt" -I"tmp" -I"c:\Qt\
    2010.02.1\qt\mkspecs\win32-g++" -D__GNUC__ -DWIN32 qextserialport.h -o tmp\moc_q
    extserialport.cpp
    g++ -c -g -Wall -frtti -fexceptions -mthreads -DUNICODE -DQT_LARGEFILE_SUPPORT -
    DQEXTSERIALPORT_LIB -DWINVER=0x0501 -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THR
    EAD_SUPPORT -I"c:\Qt\2010.02.1\qt\include\QtCore" -I"c:\Qt\2010.02.1\qt\include\
    QtGui" -I"c:\Qt\2010.02.1\qt\include" -I"c:\Qt\2010.02.1\qt\include\ActiveQt" -I
    "tmp" -I"c:\Qt\2010.02.1\qt\mkspecs\win32-g++" -o tmp\moc_qextserialport.o tmp\m
    oc_qextserialport.cpp
    C:\Qt\2010.02.1\qt\bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQEXTSERIALPORT
    _LIB -DWINVER=0x0501 -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"
    c:\Qt\2010.02.1\qt\include\QtCore" -I"c:\Qt\2010.02.1\qt\include\QtGui" -I"c:\Qt
    \2010.02.1\qt\include" -I"c:\Qt\2010.02.1\qt\include\ActiveQt" -I"tmp" -I"c:\Qt\
    2010.02.1\qt\mkspecs\win32-g++" -D__GNUC__ -DWIN32 qextserialenumerator.h -o tmp
    \moc_qextserialenumerator.cpp
    g++ -c -g -Wall -frtti -fexceptions -mthreads -DUNICODE -DQT_LARGEFILE_SUPPORT -
    DQEXTSERIALPORT_LIB -DWINVER=0x0501 -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THR
    EAD_SUPPORT -I"c:\Qt\2010.02.1\qt\include\QtCore" -I"c:\Qt\2010.02.1\qt\include\
    QtGui" -I"c:\Qt\2010.02.1\qt\include" -I"c:\Qt\2010.02.1\qt\include\ActiveQt" -I
    "tmp" -I"c:\Qt\2010.02.1\qt\mkspecs\win32-g++" -o tmp\moc_qextserialenumerator.o
     tmp\moc_qextserialenumerator.cpp
    windres -i qextserialportd_resource.rc -o tmp\qextserialportd_resource_res.o --i
    nclude-dir=.
    g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel
    oc -shared -mthreads -Wl -Wl,--out-implib,build\libqextserialportd1.a -o build\q
    extserialportd1.dll tmp/qextserialport.o tmp/win_qextserialport.o tmp/qextserial
    enumerator_win.o tmp/moc_qextserialport.o tmp/moc_qextserialenumerator.o  -L"c:\
    Qt\2010.02.1\qt\lib" tmp\qextserialportd_resource_res.o -lsetupapi -lQtGuid4 -lQ
    tCored4
    Creating library file: build\libqextserialportd1.a
    mingw32-make[1]: Leaving directory `C:/Documents and Settings/user/Bureau/qextse
    rialport_hg/src'
     
    C:\Documents and Settings\user\Bureau\qextserialport_hg\src>
    (je fais de même en ajoutant release après mingw32-make)

    et je me retrouve dans mon dossier src/build avec deux fichiers .a et deux fichiers .dll supplémentaires correspondant au résultat de compilation.

    Seulement, moi j'ai besoin de fichiers .lib ... et non de fichiers .a ... Donc impossible pour moi de lier ces fichiers à mon projet actuel (à moins que quelqu'un ne connaisse la solution ?)

    2) je me suis donc soudain souvenu que pour utiliser Qt sous VS j'avais utilisé l'invite de commande de VS. j'ai alors fait les manip suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    Setting environment for using Microsoft Visual Studio 2008 x86 tools.
     
    C:\Program Files\Microsoft Visual Studio 9.0\VC>cd "c:\Documents and Settings\user\Bureau\qextserialport_hg\src"
     
    C:\Documents and Settings\user\Bureau\qextserialport_hg\src>%QTDIR%\qmake\qmake.exe
     
    C:\Documents and Settings\user\Bureau\qextserialport_hg\src>nmake
     
    Microsoft (R) Program Maintenance Utility Version 9.00.21022.08
    Copyright (C) Microsoft Corporation. Tous droits réservés.
     
            "C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe" -f Makefile.Debug
     
    Microsoft (R) Program Maintenance Utility Version 9.00.21022.08
    Copyright (C) Microsoft Corporation. Tous droits réservés.
     
            C:\Qt\2010.02.1\qt\bin\moc.exe -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQEXTSERIALPORT_LIB -DWINVER=0x0501 -DQT_DLL -DQT_GUI_LIB -
    DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"c:\Qt\2010.02.1\qt\include\QtCore" -I"c:\Qt\2010.02.1\qt\include\QtGui" -I"c:\Qt\2010.02.1\qt\include" -
    I"c:\Qt\2010.02.1\qt\include\ActiveQt" -I"tmp" -I"c:\Qt\2010.02.1\qt\mkspecs\win32-msvc2008" -D_MSC_VER=1500 -DWIN32 qextserialport.h -o tmp
    \moc_qextserialport.cpp
            C:\Qt\2010.02.1\qt\bin\moc.exe -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQEXTSERIALPORT_LIB -DWINVER=0x0501 -DQT_DLL -DQT_GUI_LIB -
    DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"c:\Qt\2010.02.1\qt\include\QtCore" -I"c:\Qt\2010.02.1\qt\include\QtGui" -I"c:\Qt\2010.02.1\qt\include" -
    I"c:\Qt\2010.02.1\qt\include\ActiveQt" -I"tmp" -I"c:\Qt\2010.02.1\qt\mkspecs\win32-msvc2008" -D_MSC_VER=1500 -DWIN32 qextserialenumerator.h
    -o tmp\moc_qextserialenumerator.cpp
            rc -D_DEBUG -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQEXTSERIALPORT_LIB -DWINVER=0x0501 -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_T
    HREAD_SUPPORT -fo tmp\qextserialportd_resource.res qextserialportd_resource.rc
    Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
    Copyright (C) Microsoft Corporation.  All rights reserved.
     
            cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MDd -W3 -w34100 -w34189 -GR -EHsc -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQEXTSERIALPORT_L
    IB -DWINVER=0x0501 -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"c:\Qt\2010.02.1\qt\include\QtCore" -I"c:\Qt\2010.02.1\qt\inclu
    de\QtGui" -I"c:\Qt\2010.02.1\qt\include" -I"c:\Qt\2010.02.1\qt\include\ActiveQt" -I"tmp" -I"c:\Qt\2010.02.1\qt\mkspecs\win32-msvc2008" -Fotm
    p\ @C:\DOCUME~1\user\LOCALS~1\Temp\nm120.tmp
    qextserialport.cpp
    win_qextserialport.cpp
    .\win_qextserialport.cpp(279) : warning C4100: 'c' : paramètre formel non référencé
    .\win_qextserialport.cpp(779) : warning C4100: 'msecs' : paramètre formel non référencé
    qextserialenumerator_win.cpp
    Génération de code en cours...
            cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MDd -W3 -w34100 -w34189 -GR -EHsc -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQEXTSERIALPORT_L
    IB -DWINVER=0x0501 -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"c:\Qt\2010.02.1\qt\include\QtCore" -I"c:\Qt\2010.02.1\qt\inclu
    de\QtGui" -I"c:\Qt\2010.02.1\qt\include" -I"c:\Qt\2010.02.1\qt\include\ActiveQt" -I"tmp" -I"c:\Qt\2010.02.1\qt\mkspecs\win32-msvc2008" -Fotm
    p\ @C:\DOCUME~1\user\LOCALS~1\Temp\nm121.tmp
    moc_qextserialport.cpp
    moc_qextserialenumerator.cpp
    Génération de code en cours...
            link /LIBPATH:"c:\Qt\2010.02.1\qt\lib" /NOLOGO /DEBUG /DLL /MANIFEST /MANIFESTFILE:"tmp\qextserialportd.intermediate.manifest" /VERS
    ION:1.20 /OUT:build\qextserialportd1.dll @C:\DOCUME~1\user\LOCALS~1\Temp\nm122.tmp
       Création de la bibliothèque build\qextserialportd1.lib et de l'objet build\qextserialportd1.exp
    qextserialenumerator_win.obj : error LNK2019: symbole externe non résolu __imp__RegCloseKey@4 référencé dans la fonction "private: static cl
    ass QString __cdecl QextSerialEnumerator::getRegKeyValue(struct HKEY__ *,unsigned short const *)" (?getRegKeyValue@QextSerialEnumerator@@CA?
    AVQString@@PAUHKEY__@@PBG@Z)
    qextserialenumerator_win.obj : error LNK2019: symbole externe non résolu __imp__RegQueryValueExW@24 référencé dans la fonction "private: sta
    tic class QString __cdecl QextSerialEnumerator::getRegKeyValue(struct HKEY__ *,unsigned short const *)" (?getRegKeyValue@QextSerialEnumerato
    r@@CA?AVQString@@PAUHKEY__@@PBG@Z)
    qextserialenumerator_win.obj : error LNK2019: symbole externe non résolu __imp__RegisterDeviceNotificationW@12 référencé dans la fonction "p
    ublic: void __thiscall QextSerialEnumerator::setUpNotifications(void)" (?setUpNotifications@QextSerialEnumerator@@QAEXXZ)
    build\qextserialportd1.dll : fatal error LNK1120: 3 externes non résolus
    NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\link.EXE"' : code retour '0x460'
    Stop.
    NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe"' : code retour '0x2'
    Stop.
     
    C:\Documents and Settings\user\Bureau\qextserialport_hg\src>
    Comme vous pouvez le voir, il m'est en fait impossible de compiler parce qu'il ne trouve pas des références à des fonctions de windows je pense. Il génère les fichiers .lib ... mais pas les dll


    Bref je suis complètement perdu !


    Un petit avis extérieur et une aide supplémentaire me serait fortement agréable.
    Merci à quiconque s'intéresse à mon problème et m'aide à le résoudre.

    Bonnr journée

  4. #4
    Membre éclairé
    Homme Profil pro
    Freelance
    Inscrit en
    Décembre 2003
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 423
    Par défaut
    Décidément .... je me fais un pure monologue

    D'un côté je ne vous laisse pas le temps de répondre, je vous l'accorde

    Bref, j'ai trouvé la solution. Qu'est-ce que j'ai fait de plus ? Pas grand chose en fait :
    Sous visual studio j'ai créé un projet Qt (projet makefile ... cf. lien précédent post) sauf que dans Commande de Build je mets qmake & nmake

    J'ai ajouté tous les fichiers sources au projet, puis je fais Régénérer le projet une première fois. Là la compilation foire et c'est normal. Ce qui nous intéresse c'est la génération du fichier .pro et de tout le reste autour.
    Ouvrez le fichier .pro généré et mettez le contenu du fichier src.pro fourni dans qextserialport. Ensuite pour que ça puisse compiler, il faut juste rajouter deux librairies pour le link à la ligne LIBS+= de Win32 en ajoutant les librairies advapi32 et user32.
    Au final vous devriez avoir le fichier .pro suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    PROJECT                 = qextserialport
    TEMPLATE                = lib
    VERSION                 = 1.2.0
    DESTDIR                 = build
    CONFIG                 += qt warn_on debug_and_release
    CONFIG                  += dll
    DEFINES                 += QEXTSERIALPORT_LIB
    #CONFIG                 += staticlib
     
    # event driven device enumeration on windows requires the gui module
    !win32:QT               -= gui
     
    OBJECTS_DIR             = tmp
    MOC_DIR                 = tmp
    DEPENDDIR               = .
    INCLUDEDIR              = .
    HEADERS                 = qextserialport.h \
                              qextserialenumerator.h \
                              qextserialport_global.h
    SOURCES                 = qextserialport.cpp
     
    unix:SOURCES           += posix_qextserialport.cpp
    unix:!macx:SOURCES     += qextserialenumerator_unix.cpp
    macx {
      SOURCES          += qextserialenumerator_osx.cpp
      LIBS             += -framework IOKit -framework CoreFoundation
    }
     
    win32 {
      SOURCES          += win_qextserialport.cpp qextserialenumerator_win.cpp
      DEFINES          += WINVER=0x0501 # needed for mingw to pull in appropriate dbt business...probably a better way to do this
      LIBS             += -lsetupapi -ladvapi32 -luser32
    }
     
    CONFIG(debug, debug|release) {
        TARGET = qextserialportd
    } else {
        TARGET = qextserialport
    }
    Vous n'avez alors plus qu'à compiler et vous obtiendrez enfin votre fichier .lib et votre .dll


    Bonne journée à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. PERL et installation sous windows de DBI
    Par Kath dans le forum SGBD
    Réponses: 4
    Dernier message: 14/07/2006, 11h34
  2. Problème de boot cd pour install sous Mandrake
    Par hirochirak dans le forum Administration système
    Réponses: 2
    Dernier message: 26/03/2004, 09h20
  3. [install]Install sous windows... quelques questions
    Par omega dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 26/02/2004, 09h50
  4. [Kylix] Probleme d'installation sous Mdk 9.1
    Par anderson2 dans le forum EDI
    Réponses: 4
    Dernier message: 25/05/2003, 18h27
  5. [progressSQL]installer sous win98 ??
    Par skapull dans le forum Administration
    Réponses: 2
    Dernier message: 04/04/2003, 17h32

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