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

  1. #1
    Membre à l'essai Avatar de wxMiDub
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mars 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mars 2018
    Messages : 9
    Points : 14
    Points
    14

    Par défaut [wxWidgets-3.1.1] [Code::Blocks 17.12] erreur à l'édition de lien

    Bonjour,

    Je suis en train d'installer une plate forme de développement dans la configuration suivante :
    WINDOWS 7 / Code::Blocks 17.12 / wxWidgets-3.1.1

    Pour cela j'ai suivi avec application le tuto

    avec les étapes suivantes :
    - Installation de Code::Blocks 17.12 à partir de codeblocks-17.12mingw-setup.exe
    - Mise à jour du PATH% pour C:\Program Files (x86)\CodeBlocks\MinGW\bin

    - Téléchargement de wxWidgets-3.1.1.zip et dézippage sur C:

    - Mise à jour du fichier \wxWidgets-2.8.10\include\wx\msw\setup.h
    pour les options wxUSE_STL 1 et wxUSE_STD_IOSTREAMH 1 (avec un H à la fin, la variable wxUSE_STD_IOSTREAM comme dans le tuto n'existe pas ou plus ?)
    les autres options demandées dans le tuto sont maintenant le default de la 3.1

    - Construction des librairies WX dans C:\wxWidgets-3.1.1\build\msw>
    mingw32-make -f makefile.gcc BUILD=release
    mingw32-make -f makefile.gcc BUILD=debug

    - Téléchargement des sources du projet wxProjet depuis l'archive,
    - adaptation de la version 2.8 en 3.1

    Compilation du projet, les objets sont créés, erreur à l'édition de lien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ||=== Build: Debug in wxProjet (compiler: GNU GCC Compiler) ===|
    C:\wxWidgets-3.1.1\lib\gcc_lib\libwxmsw31ud_core.a(corelib_window.o)||In function `ZN8wxWindow16MSWHandleMessageEPljjl':|
    C:\wxWidgets-3.1.1\build\msw\..\..\src\msw\window.cpp|3489|undefined reference to `LresultFromObject@12'|
    C:\wxWidgets-3.1.1\build\msw\..\..\src\msw\window.cpp|3668|undefined reference to `GetThemeBackgroundContentRect@24'|
    ...
    C:\wxWidgets-3.1.1\build\msw\..\..\src\msw\notebook.cpp|1127|undefined reference to `GetThemeBackgroundExtent@24'|
    C:\wxWidgets-3.1.1\build\msw\..\..\src\msw\notebook.cpp|1142|undefined reference to `DrawThemeBackground@24'|
    ||More errors follow but not being shown.|
    ||Edit the max errors limit in compiler options...|
    ||=== Build failed: 50 error(s), 0 warning(s) (0 minute(s), 12 second(s)) ===|
    
    J'ai aussi fait un projet de type wxWidgets comme dans le tuto et j'ai le même résultat.

    Selon mon analyse, on ne trouve pas ce qu'il faut dans les librairies compilées, parce qu'il manque qq chose dans les paramètres / options de compilation au moment de la construction ?

    Merci, si quelqu'un peut me donner une piste.

  2. #2
    Membre averti Avatar de wxXav
    Homme Profil pro
    Développeur amateur
    Inscrit en
    décembre 2008
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur amateur

    Informations forums :
    Inscription : décembre 2008
    Messages : 196
    Points : 322
    Points
    322

    Par défaut

    Hello

    Citation Envoyé par wxMiDub Voir le message
    Compilation du projet, les objets sont créés, erreur à l'édition de lien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ||=== Build: Debug in wxProjet (compiler: GNU GCC Compiler) ===|
    C:\wxWidgets-3.1.1\lib\gcc_lib\libwxmsw31ud_core.a(corelib_window.o)||In function `ZN8wxWindow16MSWHandleMessageEPljjl':|
    C:\wxWidgets-3.1.1\build\msw\..\..\src\msw\window.cpp|3489|undefined reference to `LresultFromObject@12'|
    C:\wxWidgets-3.1.1\build\msw\..\..\src\msw\window.cpp|3668|undefined reference to `GetThemeBackgroundContentRect@24'|
    ...
    C:\wxWidgets-3.1.1\build\msw\..\..\src\msw\notebook.cpp|1127|undefined reference to `GetThemeBackgroundExtent@24'|
    C:\wxWidgets-3.1.1\build\msw\..\..\src\msw\notebook.cpp|1142|undefined reference to `DrawThemeBackground@24'|
    ||More errors follow but not being shown.|
    ||Edit the max errors limit in compiler options...|
    ||=== Build failed: 50 error(s), 0 warning(s) (0 minute(s), 12 second(s)) ===|
    
    Sous Windows, la version 3.1.1 de wxWidgets nécessite maintenant la lib uxtheme de l'API Win32.
    Il faut donc rajouter cette lib à la liste dans les options du linker. ?ormalement, pour MinGW, il suffit d'ajouter "uxtheme" (sans les guillemets).
    Ça devrait résoudre les deux dernières erreurs.
    Ensuite, pour la première, c'est la lib "oleacc" qu'il faut ajouter.

    Essaye déjà avec ces deux libs, et si tu obtiens d'autres erreurs de ce style, la méthode est toute simple :
    • tu fais une recherche google avec le nom de la fonction qui pose problème (par exemple, lresultfromobject)
    • tu devrais obtenir un lien MSDN dans les premiers résultats.
    • sur la page correspondante, le nom de la lib nécessaire se trouve dans le tableau récapitulatif à la fin (pour notre exemple, sur cette page, on t'indique qu'il faut la lib Oleacc.lib
    • comme il s'agit d'un nom de lib pour Visual C++, il suffit de mettre en minuscules, et d'enlever l'extension et tu obtiens le nom de la lib à ajouyter pour MinGW


    Bonne continuation, et n'hésite pas si tu as encore des soucis.

    @+
    Xav'

  3. #3
    Membre à l'essai Avatar de wxMiDub
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mars 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mars 2018
    Messages : 9
    Points : 14
    Points
    14

    Par défaut Merci wxXav

    J'ai ajouté comme tu me l'a indiqué les deux librairies uxtheme et oleacc et l'édition de liens se passe correctement :
    Nom : Merci.PNG
Affichages : 160
Taille : 7,0 Ko

    Nom : Link.PNG
Affichages : 160
Taille : 23,0 Ko
    Une dernière question pour ma culture personnel.
    - Dans les options du linker au niveau projet, il y a déjà 15 librairies windows qui sont ajoutées par l'assistant au moment de la création du projet, ces librairies sont indiquées avec l'extension ".a" mais dans la ligne de commande, les extensions disparaissent.
    - Donc dans un premier temps j'ai ajouté uxtheme.a et oleacc.a, mais l'extension est restée dans la ligne de commande, et j'avais une erreur me signalant qu'il ne trouvait pas les librairies en question

    - Ensuite j'ai simplement ajouté le nom des deux librairies sans les extensions, et là tout marche bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    mingw32-g++.exe -LC:\wxWidgets-3.1.1\lib\gcc_lib -o bin\Debug\HW.exe obj\Debug\HWApp.o obj\Debug\HWMain.o  obj\Debug\resource.res -mthreads
     -lwxmsw31ud_core -lwxbase31ud -lwxpngd -lwxzlibd -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32
     -lwsock32 -lodbc32 -lshlwapi -lversion -luxtheme -loleacc -mwindows

  4. #4
    Membre averti Avatar de wxXav
    Homme Profil pro
    Développeur amateur
    Inscrit en
    décembre 2008
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur amateur

    Informations forums :
    Inscription : décembre 2008
    Messages : 196
    Points : 322
    Points
    322

    Par défaut

    Salut.

    Citation Envoyé par wxMiDub Voir le message
    J'ai ajouté comme tu me l'a indiqué les deux librairies uxtheme et oleacc et l'édition de liens se passe correctement
    Nickel.
    J'avais peur qu'il y ait d'autres erreurs comme tu avais mis des points de suspensions entre les lignes d'erreurs citées.

    Citation Envoyé par wxMiDub Voir le message
    Une dernière question pour ma culture personnel.
    - Dans les options du linker au niveau projet, il y a déjà 15 librairies windows qui sont ajoutées par l'assistant au moment de la création du projet, ces librairies sont indiquées avec l'extension ".a" mais dans la ligne de commande, les extensions disparaissent.
    - Donc dans un premier temps j'ai ajouté uxtheme.a et oleacc.a, mais l'extension est restée dans la ligne de commande, et j'avais une erreur me signalant qu'il ne trouvait pas les librairies en question

    - Ensuite j'ai simplement ajouté le nom des deux librairies sans les extensions, et là tout marche bien
    En fait, les vrais noms des fichiers libs de MinGW sont "libuxtheme.a" et "liboleacc.a" (tu les retrouveras dans le dossier "lib" de ton installation de MinGW).
    Le préfixe 'lib' et l'extension ".a" ne sont cependant pas obligatoires dans la ligne de commande : le linker retrouveras les fichiers concernés si ils possèdent ce préfixe et cette extension pas défaut.

    À noter que ça ne marche qu'avec MinGW : Visual C++ ne fonctionne pas du tout comme ça (il faut lui donner le nom exact du fichier).

    @+
    Xav'

  5. #5
    Membre à l'essai Avatar de wxMiDub
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mars 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mars 2018
    Messages : 9
    Points : 14
    Points
    14

    Par défaut Include des librairies

    Merci Xav pour ta réponse.

    Donc j'ai poursuivi mon avancer et j'ai fait un autre projet en Frame au lieu de Dialogue, j'ai bien ajouté les deux librairies qui manques dans l'assitant de création de projet et reboom +de 50 erreurs au niveau du link :

    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
    -------------- Build: Debug in CdmRppTco (compiler: GNU GCC Compiler)---------------
     
    mingw32-g++.exe -Wall -pipe -mthreads -D__GNUWIN32__ -D__WXMSW__ -DwxUSE_UNICODE -g -D__WXDEBUG__ -IC:\wxWidgets-3.1.1\include -IC:\wxWidgets-3.1.1\lib\gcc_lib\mswud -c D:\CDMrail\CB0\CdmRppTco\CdmRppTcoApp.cpp -o obj\Debug\CdmRppTcoApp.o
    mingw32-g++.exe -Wall -pipe -mthreads -D__GNUWIN32__ -D__WXMSW__ -DwxUSE_UNICODE -g -D__WXDEBUG__ -IC:\wxWidgets-3.1.1\include -IC:\wxWidgets-3.1.1\lib\gcc_lib\mswud -c D:\CDMrail\CB0\CdmRppTco\CdmRppTcoMain.cpp -o obj\Debug\CdmRppTcoMain.o
    windres.exe -IC:\wxWidgets-3.1.1\include -IC:\wxWidgets-3.1.1\lib\gcc_lib\mswud  -J rc -O coff -i D:\CDMrail\CB0\CDMRPP~1\resource.rc -o obj\Debug\resource.res
    mingw32-g++.exe -LC:\wxWidgets-3.1.1\lib\gcc_lib -o bin\Debug\CdmRppTco.exe obj\Debug\CdmRppTcoApp.o obj\Debug\CdmRppTcoMain.o  obj\Debug\resource.res -mthreads  -lwxmsw31ud_core -lwxbase31ud -lwxpngd -lwxzlibd -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 -lwsock32 -lodbc32 -lshlwapi -lversion -loleacc -luxtheme -mwindows
    C:\wxWidgets-3.1.1\lib\gcc_lib/libwxmsw31ud_core.a(corelib_imagjpeg.o): In function `wx_jpeg_io_src':
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagjpeg.cpp:206: undefined reference to `jpeg_resync_to_restart'
    C:\wxWidgets-3.1.1\lib\gcc_lib/libwxmsw31ud_core.a(corelib_imagjpeg.o): In function `ZN13wxJPEGHandler8LoadFileEP7wxImageR13wxInputStreambi':
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagjpeg.cpp:247: undefined reference to `jpeg_std_error'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagjpeg.cpp:263: undefined reference to `jpeg_destroy_decompress'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagjpeg.cpp:268: undefined reference to `jpeg_CreateDecompress'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagjpeg.cpp:270: undefined reference to `jpeg_read_header'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagjpeg.cpp:295: undefined reference to `jpeg_start_decompress'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagjpeg.cpp:299: undefined reference to `jpeg_finish_decompress'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagjpeg.cpp:300: undefined reference to `jpeg_destroy_decompress'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagjpeg.cpp:312: undefined reference to `jpeg_read_scanlines'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagjpeg.cpp:348: undefined reference to `jpeg_finish_decompress'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagjpeg.cpp:349: undefined reference to `jpeg_destroy_decompress'
    C:\wxWidgets-3.1.1\lib\gcc_lib/libwxmsw31ud_core.a(corelib_imagjpeg.o): In function `ZN13wxJPEGHandler8SaveFileEP7wxImageR14wxOutputStreamb':
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagjpeg.cpp:425: undefined reference to `jpeg_std_error'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagjpeg.cpp:441: undefined reference to `jpeg_destroy_compress'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagjpeg.cpp:445: undefined reference to `jpeg_CreateCompress'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagjpeg.cpp:452: undefined reference to `jpeg_set_defaults'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagjpeg.cpp:461: undefined reference to `jpeg_set_quality'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagjpeg.cpp:476: undefined reference to `jpeg_start_compress'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagjpeg.cpp:482: undefined reference to `jpeg_write_scanlines'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagjpeg.cpp:484: undefined reference to `jpeg_finish_compress'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagjpeg.cpp:485: undefined reference to `jpeg_destroy_compress'
    C:\wxWidgets-3.1.1\lib\gcc_lib/libwxmsw31ud_core.a(corelib_imagtiff.o): In function `ZN13wxTIFFHandlerC2Ev':
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:107: undefined reference to `TIFFSetWarningHandler'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:108: undefined reference to `TIFFSetErrorHandler'
    C:\wxWidgets-3.1.1\lib\gcc_lib/libwxmsw31ud_core.a(corelib_imagtiff.o): In function `Z10TIFFwxOpenR13wxInputStreamPKcS2_':
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:271: undefined reference to `TIFFClientOpen'
    C:\wxWidgets-3.1.1\lib\gcc_lib/libwxmsw31ud_core.a(corelib_imagtiff.o): In function `Z10TIFFwxOpenR14wxOutputStreamPKcS2_':
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:283: undefined reference to `TIFFClientOpen'
    C:\wxWidgets-3.1.1\lib\gcc_lib/libwxmsw31ud_core.a(corelib_imagtiff.o): In function `ZN13wxTIFFHandler8LoadFileEP7wxImageR13wxInputStreambi':
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:307: undefined reference to `TIFFSetDirectory'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:314: undefined reference to `TIFFClose'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:322: undefined reference to `TIFFGetField'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:323: undefined reference to `TIFFGetField'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:326: undefined reference to `TIFFGetFieldDefaulted'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:329: undefined reference to `TIFFGetFieldDefaulted'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:334: undefined reference to `TIFFGetFieldDefaulted'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:337: undefined reference to `TIFFGetField'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:358: undefined reference to `TIFFClose'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:363: undefined reference to `_TIFFmalloc'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:372: undefined reference to `TIFFClose'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:385: undefined reference to `_TIFFfree'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:386: undefined reference to `TIFFClose'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:395: undefined reference to `TIFFGetField'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:405: undefined reference to `TIFFRGBAImageOK'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:411: undefined reference to `TIFFScanlineSize'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:411: undefined reference to `_TIFFmalloc'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:424: undefined reference to `TIFFReadScanline'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:455: undefined reference to `_TIFFfree'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:459: undefined reference to `TIFFReadRGBAImageOriented'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:471: undefined reference to `_TIFFfree'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:473: undefined reference to `TIFFClose'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:516: undefined reference to `TIFFGetFieldDefaulted'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:524: undefined reference to `TIFFGetFieldDefaulted'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:555: undefined reference to `TIFFGetField'
    C:\wxWidgets-3.1.1\build\msw/../../src/common/imagtiff.cpp:567: undefined reference to `TIFFGetField'
    Process terminated with status 1 (0 minute(s), 9 second(s))
    50 error(s), 0 warning(s) (0 minute(s), 9 second(s))
    Donc à ce niveau j'applique ta méthode : je recherche la Function jpeg_resync_to_restart pour trouver une page sur MSDN qui me donne la localisation de la librairie manquante

    Il n'y a rien à ce niveau, par contre je vois que dans les 50 erreurs, il y a 2 familles d'erreurs, une première qui tourne autour de "jpeg" et une deuxième autour de "TIFF"
    et je vois que dans les librairies de wxWidgets, il y a justement deux librairies libwxjpegd.a et libwxtiffd.a en Debug et libwxjpeg.a et libwxtiff.a en release.

    Donc je les ai ajoutées au niveau Debug et release, et l'édition de liens est correcte !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    -------------- Build: Debug in CdmRppTco (compiler: GNU GCC Compiler)---------------
     
    mingw32-g++.exe -LC:\wxWidgets-3.1.1\lib\gcc_lib -o bin\Debug\CdmRppTco.exe obj\Debug\CdmRppTcoApp.o obj\Debug\CdmRppTcoMain.o  obj\Debug\resource.res -mthreads  -lwxmsw31ud_core -lwxbase31ud -lwxpngd -lwxzlibd -lwxjpegd -lwxtiffd -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 -lwsock32 -lodbc32 -lshlwapi -lversion -loleacc -luxtheme -mwindows
    Output file is bin\Debug\CdmRppTco.exe with size 80.43 MB
    Process terminated with status 0 (0 minute(s), 14 second(s))
    0 error(s), 0 warning(s) (0 minute(s), 14 second(s))

  6. #6
    Membre à l'essai Avatar de wxMiDub
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mars 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mars 2018
    Messages : 9
    Points : 14
    Points
    14

    Par défaut Localisation des librairies et déclaration des Includes

    Je reprend ici les conclusions auxquelles je suis arrivé.

    Au niveau projet :
    Nom : LinkerProjet2.PNG
Affichages : 186
Taille : 33,2 Ko
    15 librairies déclarées par l'assistant + uxtheme et oleacc ajoutées pour le moment.

    Ses librairies sont sous MinGW. Dans ma version installées, j'ai 173 librairies.
    Nom : LibKernel32WinGW.PNG
Affichages : 156
Taille : 4,2 Ko

    Nom : LibUxthemeMinGW.png
Affichages : 157
Taille : 7,2 Ko

    Sous wxWigets pour xutheme par exemple :
    Nom : LibUxthemeWx.png
Affichages : 157
Taille : 11,2 Ko

    Sous Windows pour xutheme par exemple :
    Nom : LibUxthemeWindows.png
Affichages : 158
Taille : 12,1 Ko

    Pour xutheme, on peut ne pas écrire "lib" devant le nom et enlever l'extension, mais pour rester cohérent par rapport à libkernel32.a par exemple, je préfère écrire le nom complet.
    Il est à noté que dans la ligne de commande, les caractères "lib" et ".a" sont enlevés.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    -------------- Build: Debug in CdmRppTco (compiler: GNU GCC Compiler)---------------
     
    mingw32-g++.exe -Wall -pipe -mthreads -D__GNUWIN32__ -D__WXMSW__ -DwxUSE_UNICODE -g -D__WXDEBUG__ -IC:\wxWidgets-3.1.1\include -IC:\wxWidgets-3.1.1\lib\gcc_lib\mswud -c D:\CDMrail\CB0\CdmRppTco\CdmRppTcoApp.cpp -o obj\Debug\CdmRppTcoApp.o
    mingw32-g++.exe -Wall -pipe -mthreads -D__GNUWIN32__ -D__WXMSW__ -DwxUSE_UNICODE -g -D__WXDEBUG__ -IC:\wxWidgets-3.1.1\include -IC:\wxWidgets-3.1.1\lib\gcc_lib\mswud -c D:\CDMrail\CB0\CdmRppTco\CdmRppTcoMain.cpp -o obj\Debug\CdmRppTcoMain.o
    windres.exe -IC:\wxWidgets-3.1.1\include -IC:\wxWidgets-3.1.1\lib\gcc_lib\mswud  -J rc -O coff -i D:\CDMrail\CB0\CDMRPP~1\resource.rc -o obj\Debug\resource.res
    mingw32-g++.exe -LC:\wxWidgets-3.1.1\lib\gcc_lib -o bin\Debug\CdmRppTco.exe obj\Debug\CdmRppTcoApp.o obj\Debug\CdmRppTcoMain.o  obj\Debug\resource.res -mthreads  -lwxmsw31ud_core -lwxbase31ud -lwxpngd -lwxzlibd -lwxjpegd -lwxtiffd -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 -lwsock32 -lodbc32 -lshlwapi -lversion -loleacc -luxtheme -mwindows
    Output file is bin\Debug\CdmRppTco.exe with size 80.43 MB
    Process terminated with status 0 (0 minute(s), 13 second(s))
    0 error(s), 0 warning(s) (0 minute(s), 13 second(s))
    Au niveau Debug et Release :
    Nom : LinkerDebug.PNG
Affichages : 168
Taille : 29,0 Ko
    4 librairies déclarées par l’assistant + jpeg et tiff ajoutées pour le moment.

    Ses librairies sont sous wxWidgets (3.1), il y a 44 librairies, soit 2 fois ( 15 + 7 ), 2 fois parce que Debug et Release, et 15 marquée de la version 31 plus 7 sans versions.
    Nom : Ligjpeg.png
Affichages : 156
Taille : 6,1 Ko

    Voila, c t pour faire avancer le schmilblick

    @+ Michel

    P.S. petite remarque pour l'avenir, entre le 32 dans kernel32 par exemple qui vient de la grosse magouille de MicroSoft pour gérer le 32/64 bits et la prochaine version 3.2.0 de wxWidgets, cela fera aussi 32 ...

  7. #7
    Membre averti Avatar de wxXav
    Homme Profil pro
    Développeur amateur
    Inscrit en
    décembre 2008
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur amateur

    Informations forums :
    Inscription : décembre 2008
    Messages : 196
    Points : 322
    Points
    322

    Par défaut

    Citation Envoyé par wxMiDub Voir le message
    Merci Xav pour ta réponse.
    De rien : un forum d'entraide sert à ça

    Citation Envoyé par wxMiDub Voir le message
    Donc à ce niveau j'applique ta méthode : je recherche la Function jpeg_resync_to_restart pour trouver une page sur MSDN qui me donne la localisation de la librairie manquante

    Il n'y a rien à ce niveau, par contre je vois que dans les 50 erreurs, il y a 2 familles d'erreurs, une première qui tourne autour de "jpeg" et une deuxième autour de "TIFF"
    et je vois que dans les librairies de wxWidgets, il y a justement deux librairies libwxjpegd.a et libwxtiffd.a en Debug et libwxjpeg.a et libwxtiff.a en release.

    Donc je les ai ajoutées au niveau Debug et release, et l'édition de liens est correcte !
    Tu as tout compris : j'ai oublié de t'en parler mais il faut effectivement regarder dans les libs wxWidgets également.
    Tu risques d'avoir le même problème si tu utilises le png, les expressions régulières (dans ce cas, c'est la lib expat qui est concernée).

    Citation Envoyé par wxMiDub Voir le message
    Ses librairies sont sous MinGW. Dans ma version installées, j'ai 173 librairies.
    Nom : LibKernel32WinGW.PNG
Affichages : 156
Taille : 4,2 Ko

    Nom : LibUxthemeMinGW.png
Affichages : 157
Taille : 7,2 Ko

    Sous wxWigets pour xutheme par exemple :
    Nom : LibUxthemeWx.png
Affichages : 157
Taille : 11,2 Ko

    Sous Windows pour xutheme par exemple :
    Nom : LibUxthemeWindows.png
Affichages : 158
Taille : 12,1 Ko
    Attention : tu es en train de mélanger les fichiers libs (qui ne servent que dans la phase de création de l'exécutable), les fichiers ".o et .d' qui sont des fichiers temporaires générés par le compilateur, et les fichiers dll qui correspondent à la version partagée des bibliothèques concernées.

    Citation Envoyé par wxMiDub Voir le message
    P.S. petite remarque pour l'avenir, entre le 32 dans kernel32 par exemple qui vient de la grosse magouille de MicroSoft pour gérer le 32/64 bits et la prochaine version 3.2.0 de wxWidgets, cela fera aussi 32 ...
    Effectivement...

    @+
    Xav'

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

Discussions similaires

  1. Installation wxWidgets 3.02 sous Code::Blocks 13.12
    Par jcmic dans le forum Code::Blocks
    Réponses: 2
    Dernier message: 09/11/2014, 13h40
  2. [WxWidgets] installation code:blocks
    Par maminova77 dans le forum Code::Blocks
    Réponses: 16
    Dernier message: 25/01/2011, 09h15
  3. Réponses: 0
    Dernier message: 19/04/2010, 14h37
  4. code::blocks, fenetre d'erreurs disparue
    Par jaco3th dans le forum Code::Blocks
    Réponses: 3
    Dernier message: 24/05/2009, 10h27
  5. Réponses: 4
    Dernier message: 05/09/2008, 17h49

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