wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

Membres en ligne : 0
Invités en ligne : 4
Pub hébergeur
Pourquoi cette pub ?

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Compilation - Installation - Réglages IDE
» Création d'un projet vide avec codeblocks
Conversation (Résolue) : Création d'un projet vide avec codeblocks
20-11-2012 23:21:44  Création d'un projet vide avec codeblocks #1
Alfred83 (Membre)
Lieu: Toulon 83
Inscrit le : 28-12-2007
Messages: 40
Snippets: 0
Tutoriels: 0
Hors ligne
Bonjour,
J'ai installé CodeBlocks à partir de la dernière nighty build, puis widgets 2.9.4 et gcc-4.5.2-TDM selon le post du 10/7.
Après avoir créé un projet win32 guy vide selon le tutorial du site du zero, en utilisant les  options (32 bits, bibliothèques dynamiques, multi-lib, unicode) j'obtiens un exécutable (release) sans erreur.
Malheureusement à l'exécution la fenêtre et sa boite de dialogue ne s'affichent pas.
Le message suivant s'affiche: Process terminated with status -1073741819.
Ayant recommencé plusieurs fois j'obtiens toujours le même résultat et ne trouve pas mon erreur.

Code:

 
C:\Users\HR\amaya\2\ProjetGuy.cbp
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
  <CodeBlocks_project_file>
    <FileVersion major="1" minor="6" />
    <Project>
        <Option title="ProjetGuy" />
        <Option pch_mode="2" />
        <Option compiler="gcc" />
        <Build>
            <Target title="Debug">
                <Option output="./ProjetGuy" prefix_auto="1" extension_auto="1" />
                <Option object_output="obj/Debug/" />
                <Option type="1" />
                <Option compiler="gcc" />
                <Compiler>
                    <Add option="-g" />
                </Compiler>
            </Target>
            <Target title="Release">
                <Option output="./ProjetGuy" prefix_auto="1" extension_auto="1" />
                <Option object_output="obj/Release/" />
                <Option type="0" />
                <Option compiler="gcc" />
                <Compiler>
                    <Add option="-O2" />
                </Compiler>
                <Linker>
                    <Add option="-s" />
                    <Add library="libwxmsw29u_core.a" />
                    <Add library="libwxbase29u.a" />
                    <Add directory="C:/wxWidgets-2.9.4/lib/gcc_dll32" />
                    <Add directory="C:/wxWidgets-2.9.4/lib/gcc_dll32/mswu" />
                </Linker>
            </Target>
        </Build>
        <Compiler>
            <Add option="-Wall" />
            <Add option="-D__GNUWIN32__" />
            <Add option="-D__WXMSW__" />
            <Add option="-DWXUSINGDLL" />
            <Add option="-DwxUSE_UNICODE" />
            <Add directory="C:/wxWidgets-2.9.4/include" />
        </Compiler>
        <ResourceCompiler>
            <Add directory="C:/wxWidgets-2.9.4/include" />
        </ResourceCompiler>
        <Linker>
            <Add library="gdi32" />
            <Add library="user32" />
            <Add library="kernel32" />
            <Add directory="-pipe" />
            <Add directory="-mthreads" />
        </Linker>
        <Extensions>
            <code_completion />
            <envvars />
            <debugger />
            <lib_finder disable_auto="1" />
        </Extensions>
    </Project>
</CodeBlocks_project_file>
 

Dernière modification par Alfred83 (20-11-2012 23:37:56)


Informaticien bénévole du "Groupement des Intellectuels Aveugles ou Amblyopes" à Toulon, qui publie les trois quarts des livres en braille en France.
21-11-2012 11:23:41  Re: Création d'un projet vide avec codeblocks #2
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1367
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Salut.

Il y a effectivement quelques erreurs dans ton fichier projet :

Le répertoire C:/wxWidgets-2.9.4/lib/gcc_dll32/mswu est à ajouter à la liste des dossiers de recherche du compilateur, et non du linker (c'est là dedans que se trouve le fichier setup, un des premiers fichiers de configuration des libs)

-pipe et -mthreads sont des options du compilateur, et non des répertoires de recherche du linker

Je trouve d'ailleurs très étonnant que tu aies pu compiler ton exécutable avec ce fichier projet.

Normalement, avec les modifications ci-dessus, ça devrait marcher.

Tiens-moi au courant...

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
21-11-2012 16:46:26  Re: Création d'un projet vide avec codeblocks #3
Alfred83 (Membre)
Lieu: Toulon 83
Inscrit le : 28-12-2007
Messages: 40
Snippets: 0
Tutoriels: 0
Hors ligne
Bonjour,
Merci pour ta réponse et pour le tuto du site du zéro absolument indispensable pour aborder CodeBlocks. Avant de le découvrir je me suis noyé plusieurs fois dans les paramètres de CB, wx et autres Gcc....

J'ai probablement fait une erreur en éditant le fichier CBP avant de fermer le projet, ce qui pourrait expliquer une différence entre les paramètres du fichier de configuration que j'ai édité et ceux fournis à la compilation.

Quoiqu'il en soit, je joins ci-dessous le fichier de configuration actuel qui me semble conforme au tuto, (sauf étourderie toujours possible de ma part).
Je remarque que -pipe et -mthreads sont à la fois dans les options du compilateur et du linker, et je ne les ai jamais mis dans les options du linker!
L'éditeur de liens semble les prendre en compte et ne proteste pas:
    mingw32-g++.exe -L-pipe -L-mthreads -LC:\wxWidgets-2.9.4\lib\gcc_dll32...

A l'exécution je reçois toujours "processus terminé" avec un temps variable de 4 à 40 secondes et aucune fenêtre.

Code:

 
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
    <FileVersion major="1" minor="6" />
    <Project>
        <Option title="ProjetGuy" />
        <Option pch_mode="2" />
        <Option compiler="gcc" />
        <Build>
            <Target title="Debug">
                <Option output="./ProjetGuy" prefix_auto="1"             extension_auto="1" />
                <Option object_output="obj/Debug/" />
                <Option type="1" />
                <Option compiler="gcc" />
                <Compiler>
                    <Add option="-g" />
                </Compiler>
            </Target>
            <Target title="Release">
                <Option output="./ProjetGuy" prefix_auto="1" extension_auto="1" />
                <Option object_output="obj/Release/" />
                <Option type="0" />
                <Option compiler="gcc" />
                <Compiler>
                    <Add option="-O2" />
                    <Add directory="C:/wxWidgets-2.9.4/lib/gcc_dll32/mswu" />
                </Compiler>
                <Linker>
                    <Add option="-s" />
                    <Add library="libwxmsw29u_core.a" />
                    <Add library="libwxbase29u.a" />
                    <Add directory="C:/wxWidgets-2.9.4/lib/gcc_dll32" />
                </Linker>
            </Target>
        </Build>
        <Compiler>
            <Add option="-Wall" />
            <Add option="-pipe" />
            <Add option="-mthreads" />
            <Add option="-D__GNUWIN32__" />
            <Add option="-D__WXMSW__" />
            <Add option="-DWXUSINGDLL" />
            <Add option="-DwxUSE_UNICODE" />
            <Add directory="C:/wxWidgets-2.9.4/include" />
        </Compiler>
        <ResourceCompiler>
            <Add directory="C:/wxWidgets-2.9.4/include" />
        </ResourceCompiler>
        <Linker>
            <Add library="gdi32" />
            <Add library="user32" />
            <Add library="kernel32" />
            <Add directory="-pipe" />
            <Add directory="-mthreads" />
        </Linker>
        <Unit filename="projetguy.cpp" />
        <Unit filename="projetguy.h" />
        <Extensions>
            <code_completion />
            <envvars />
            <debugger />
            <lib_finder disable_auto="1" />
        </Extensions>
    </Project>
</CodeBlocks_project_file>
 

Informaticien bénévole du "Groupement des Intellectuels Aveugles ou Amblyopes" à Toulon, qui publie les trois quarts des livres en braille en France.
21-11-2012 19:02:41  Re: Création d'un projet vide avec codeblocks #4
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1367
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Alfred83 a écrit:
L'éditeur de liens semble les prendre en compte et ne proteste pas:
    mingw32-g++.exe -L-pipe -L-mthreads -LC:\wxWidgets-2.9.4\lib\gcc_dll32...
En fait, il considère qu'il s'agit de répertoires dans lesquels il doit chercher les libs.
Même si ces répertoires n'existent pas, il ne gueule pas car il trouve leslibs dont il a besoin ailleurs.

En fait, est-ce que ton problème ne viendrait pas du fait que les dll ne sont pas accessibles dans le path ?

Pour le vérifier, essayes de copier les dll "base" et "core" dans le dossier de l'exécutable pour voir.

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
21-11-2012 23:55:36  Re: Création d'un projet vide avec codeblocks #5
Alfred83 (Membre)
Lieu: Toulon 83
Inscrit le : 28-12-2007
Messages: 40
Snippets: 0
Tutoriels: 0
Hors ligne
J'ai essayé les deux solutions, recopie des deux libs à coté de l'exécutable, puis ajout dans le path du répertoire contenant les libs. Toujours le même résultat.
Je vais laisser tomber le problème 24 heures, puis y revenir avec un oeuil neuf, cela me réussit souvent. (j'ai le temps, je suis en retraite depuis vingts ans!)
Merci encore.

Informaticien bénévole du "Groupement des Intellectuels Aveugles ou Amblyopes" à Toulon, qui publie les trois quarts des livres en braille en France.
22-11-2012 00:15:10  Re: Création d'un projet vide avec codeblocks #6
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1367
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Pas de problème.

En tout cas, tiens moi au courant : ce n'est pas normal que ça ne marche pas.

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
26-11-2012 21:59:59  Re: Création d'un projet vide avec codeblocks #7
Alfred83 (Membre)
Lieu: Toulon 83
Inscrit le : 28-12-2007
Messages: 40
Snippets: 0
Tutoriels: 0
Hors ligne
Bonjour,
La mise en place d'une nouvelle nighty build n'a rien changé.
Un essai avec l'assistant "Nouveau projet wxWidgets" n'a rien donné.
Je reprend mon projet "Win32 GUI" vide, en modifiant mes options: 32 bits + Monolithique + Statique + Ansi.
Les libs du tableau ad hoc pour le linker (libwxmsw29.a ...) sont en place, mais le linker ne les trouve pas.
A juste titre, seule libwxmsw29u.a existe, mais je ne trouve rien dans gcc_lib32_mono pour l'Ansi? Est-ce normal?
La réinstallation de wx294-gcc452-32bits-Static-MonoLibs.7z ne change rien.

Dernier essai: 32 bits + Monolitique + Statique + Unicode. Le linker semble trouver les libs indiquées, mais renvoie un série d'erreurs:

Code:

 
mingw32-g++.exe -LC:\wxWidgets-2.9.4\lib\gcc_lib32_mono -LC:\wxWidgets-2.9.4\include -LC:\wxWidgets-2.9.4\lib\gcc_dll32_mono\mswu -LC:\wxWidgets-2.9.4\contrib\include  -o .\ProjetGuyMSU.exe obj\Release\ProjetGuyMSU.o  obj\Release\ressources.res  -s -mthreads  -lwxmsw29u -lcomctl32 -lole32 -loleaut32 -luuid -lwinspool  -mwindows
...
C:\wxWidgets-2.9.4\lib\gcc_lib32_mono/libwxmsw29u.a(monolib_imagpng.o):imagpng.cpp:(.text+0x35): undefined reference to `png_get_io_ptr'
C:\wxWidgets-2.9.4\lib\gcc_lib32_mono/libwxmsw29u.a(monolib_imagpng.o):imagpng.cpp:(.text+0x69): undefined reference to `png_get_io_ptr'
C:\wxWidgets-2.9.4\lib\gcc_lib32_mono/libwxmsw29u.a(monolib_imagpng.o):imagpng.cpp:(.text+0x682): undefined reference to `png_get_header_version'
....
 

Je pense avoir appliqué à la lettre l'installation de wxWidget-2.9.4 et le tuto du site du zéro, je ne m'en sors pas!
Bonne nuit.

Informaticien bénévole du "Groupement des Intellectuels Aveugles ou Amblyopes" à Toulon, qui publie les trois quarts des livres en braille en France.
26-11-2012 22:27:44  Re: Création d'un projet vide avec codeblocks #8
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1367
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Salut.
Les erreurs que tu obtiens concernent une (ou plusieurs) lib manquante.
Ajoute la lib libwxpng.a à la liste des libs à linker, et ces erreurs devraient disparaître.
Je pense que tu dois en avoir d'autres concernant les libs jpeg, tiff, zlib.
Si c'est bien le cas, regardes dans ton dossier "lib" pour trouver les noms exacts des fichiers à ajouter.

Si tu as un doute, n'hésites pas à poster le journal complet, je te filerais un coup de main.

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
27-11-2012 00:31:45  Re: Création d'un projet vide avec codeblocks #9
Alfred83 (Membre)
Lieu: Toulon 83
Inscrit le : 28-12-2007
Messages: 40
Snippets: 0
Tutoriels: 0
Hors ligne
Merci, avec l'ajout des quatre libs l'édition de liens est ok. Cela au moins est acquis. De plus ce sont les options dont j'ai besoin pour mon application, jusqu'ici sous wxDevCpp.
Mais à l'exécution, je n'ai aucun résultat sauf: (build log)
  "Process terminated with status -1073741819 (0 minutes, 11 seconds)"

Par ailleurs j'ai du, dans le fichier ressouces.rc, remplacer

Code Cpp:

 #include "wx/msw/wx.rc"
   par:
#include "C:/wxWidgets-2.9.4/include/wx/msw/wx.rc"

sinon le compilateur ne trouve pas wx.rc
La variable globale "wx" a été définie, base, include et lib pour être sur d'avoir "lib32_mono".
Je précise que je suis sous Windows 64 mais que je préfère travailler en 32 bits, mon "client" (une ONG qui édite des livres en braille) étant sous XP.
Bon soir et merci encore.

Informaticien bénévole du "Groupement des Intellectuels Aveugles ou Amblyopes" à Toulon, qui publie les trois quarts des livres en braille en France.
27-11-2012 09:32:03  Re: Création d'un projet vide avec codeblocks #10
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1367
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Salut.

Alfred83 a écrit:
Par ailleurs j'ai du, dans le fichier ressouces.rc, remplacer

Code Cpp:

 #include "wx/msw/wx.rc"
   par:
#include "C:/wxWidgets-2.9.4/include/wx/msw/wx.rc"

sinon le compilateur ne trouve pas wx.rc
Il manque donc un répertoire de recherche pour le compilateur de ressources.

Tu devrais également essayer en supprimant complètement cette ligne dans le fichier ressources pour voir si le problème ne vient pas, à tout hasard, du fichier manifeste qui est inclus via "wx/wx.rc"

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
27-11-2012 21:30:50  Re: Création d'un projet vide avec codeblocks #11
Alfred83 (Membre)
Lieu: Toulon 83
Inscrit le : 28-12-2007
Messages: 40
Snippets: 0
Tutoriels: 0
Hors ligne
Le fichier ressources.rc ne contient qu'une ligne. (#include "wx/msw/wx.rc). Si j'enlève ce fichier du projet, j'obtiens la même chose à l'exécution.
Cela ne peut pas venir du fichier manifest, puisque lorsque j'écris "#include "C:/wxWidgets-2.9.4/include/wx/msw/wx.rc" compil et link se passent bien.
Je peux faire l'impasse provisoirement sur ce pb de répertoire, puisqu'il n'est pas bloquant.

A tout hasard, j'ai essayé une exécution sur une machine Windows 7 / 32 bits, le résultat est identique.

J'en conclue qu'il me manque quelque chose, une lib? Cet élément manquant n'appartient pas Windows, puisque mon application sous wxDevCpp affiche correctement plusieurs écrans. Cet élément est sans doute une lib de wxWidget-2.9.4 ou un paramètre de CodeBlocks...

Il y a une chose que je ne comprends pas, j'ai dézipé les 4 archives 32 bits + Gcc, or il me semble qu'il me manque des libs Ansi. Par exemple dans le répertoire wxdir/lib, si je cherche les libs commençant par "libwxmsw29", toutes commencent par "libwxmsw29u". Elles sont donc unicode et l'ansi? Je devrais au moins trouver libwxmsw29.a que l'on doit passer en paramètre au linker (Monolitique - statique - Ansi).

Bonsoir et merci pour l'intérêt que tu portes mon problème.

Informaticien bénévole du "Groupement des Intellectuels Aveugles ou Amblyopes" à Toulon, qui publie les trois quarts des livres en braille en France.
07-12-2012 18:03:12  Re: Création d'un projet vide avec codeblocks #12
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1367
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Salut.

Suite à ce topic, je me suis dit que ton problème du départ était peut-être bien le même : tu utilises quelle version de compilateur ?

En ce qui concerne les libs "Ansi" (désolé de ne pas avoir répondu plus tôt), je ne les ai pas fournies étant donné que les libs elles-mêmes ne font plus la différence entre Ansi et Unicode.

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
08-12-2012 16:42:50  Re: Création d'un projet vide avec codeblocks #13
Alfred83 (Membre)
Lieu: Toulon 83
Inscrit le : 28-12-2007
Messages: 40
Snippets: 0
Tutoriels: 0
Hors ligne
Oui je suis dans le même cas que Paul et j'utilise effectivement gcc-tdm-4.7.1.
Merci à lui d'être tombé dans le même panneau, car je commençais à douter de moi.
Bien amicalement.

Dernière modification par Alfred83 (09-12-2012 16:22:07)


Informaticien bénévole du "Groupement des Intellectuels Aveugles ou Amblyopes" à Toulon, qui publie les trois quarts des livres en braille en France.
09-12-2012 16:21:27  Re: Création d'un projet vide avec codeblocks #14
Alfred83 (Membre)
Lieu: Toulon 83
Inscrit le : 28-12-2007
Messages: 40
Snippets: 0
Tutoriels: 0
Hors ligne
Un grand merci, ça marche.
J'ai utilisé ton installateur et mis en place wx-2.8.12 avec CodeBlocks 8598.
Un détail, l'installateur ne va pas jusqu'à afficher "Terminer", comme tu le dis à Paul.
Il reste en attente avec la barre de progression complète. Au bout de 15 minutes je suis sorti du pgm, les libs étaient installées, mais le path n'avait pas été modifié.

A propos de CodeBlock, le paramétrage serait plus simple si CB vérifiait l'existence des chemins et des librairies, et même la cohérence des paramètres entre eux, lors de la saisie des options de construction! Je ne comprends pas pourquoi cela n'est pas prévu.
Bien amicalement.

Informaticien bénévole du "Groupement des Intellectuels Aveugles ou Amblyopes" à Toulon, qui publie les trois quarts des livres en braille en France.
09-12-2012 17:06:59  Re: Création d'un projet vide avec codeblocks #15
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1367
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
En ce qui concerne l'installateur, tu l'as peut-être téléchargé avant que je le mette à jour, ce qui expliquerait le fait que tu sois encore dans le cas où la wxMessageBox ne s'affiche que quand tu cliques sur "Terminé".
Parce que je viens de refaire l'essai complet, et tout est ok.

Pour Code::Blocks, il me semble que certaines vérifications sont faites par l'assistant, mais surement pas toutes celles qui devrait l'être.

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Compilation - Installation - Réglages IDE
» Création d'un projet vide avec codeblocks