@liberforce : en cherchant ( http://lynix.digitalpulsesoftware.co...ack-mingw-get/ ), je suis en train de voir que ce sont des commandes pour Windows... Il fallait le dire plus fort. C'est trop like-linux
En plus avec les / comme séparateurs de répertoire, j'aurais parié que ce n'était pas windows !
ÉDIT : Euh... Je ne pense pas que ce soit pour Windows finalement... Le configure est un script Linux !
Pour mes recherches sous windows, j'arrive à trouver ceci sur libzip :Là... Pour le peu que je trouve, j'ai l'impression que ça doit être encore lus compliqué à utiliser !Bon au final pour ceux qui auraient le même problème que moi, allez voir du cote de la zlib, c'est sympa et ca marche sous Windows sans se prendre la tête
Donc, si je travaille avec libzip, il va falloir que je fasse une cross-compilation selon les recommandations de liberforce ! Mais, je n'ai jamais essayé les cross-compilations !
@liberforce : je n'arrive pas à comprendre si ton aide est faite pour installer la bibliothèque sous windows ou sous Linux...
Avec ton cmake, j'arrive à faire un exécutable pour Linux...
Ce n'est absolument pas de la cross-compilation. Cross-compiler, ce serait compiler sous Linux pour générer un exécutable Windows par exemple.
MinGW, c'est un environnement GNU pour Windows. Cela permet entre autres de compiler nativement (c'est à dire qu'il n'y a pas d'émulation) sous Windows avec GCC. Le shell MSYS permet également de remplacer le shell Windows (cmd.exe) qui est trop limité. C'est lui qui va faire la conversion des chemins UNIX en chemins Windows. Par exemple pour rentrer dans un dossier, je peux taper façon Windows:
ou bien façon UNIX:
Code : Sélectionner tout - Visualiser dans une fenêtre à part cd "C:\Program Files"
Dans MinGW, tu auras aussi bash, ce qui te permet de lancer les scripts configure, etc. Toutes les commandes que j'ai données plus haut on été exécutée sous Windows. Et CMake est multi-plateforme, tu peux donc générer le binaire pour Linux sous Linux, et pour Windows sous Windows, sans modification, et sans difficulté.
Code : Sélectionner tout - Visualiser dans une fenêtre à part cd "/c/Program Files"
OK ! Que de choses que je ne connais pas Mais je j'apprends
J'essaie d'installer msys...J'ai pleins de choses qui s'installent comme msysCORE. Mais, après, je ne sais où le trouver pour l'exécuter !
Code : Sélectionner tout - Visualiser dans une fenêtre à part mingw-get install msys
Où mingw-get installe t'il par défaut tous ces fichiers ?
ÉDIT : j'ai finalement trouvé sh.exe ! Je testerais plus tard !
Ce n'est oas sh.exe, mais msys.bat qu'il faut lancer. Il se trouve là:
Par exemple, si tu as installé mingw dans c:\mingw, alors tu lances msys en exécutant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part %MINGW_INSTALL_DIR%\msys\msys.bat
Le mieux est de te faire un raccourci dessus. Je te conseille ensuite dans les propriétés du raccourci de rajouter --rxvt pour utiliser le terminal rxvt plutôt que cmd.exe. Il faut ensuite s'assurer que le répertoire courant du raccourci est le bon.
Code : Sélectionner tout - Visualiser dans une fenêtre à part C:\mingw\msys\1.0\msys.bat
J'avance donc petit à petit !
Je faisais les installations sous administrateur... Je me demande si c'est utile et même je me demande si c'est conseillé !
Enfin, je continue...
http://www.sqlpac.com/referentiel/do...ndows.htm#L196 est pas mal non plus... Maintenant, je peux avoir vim
Pour la liste des paquetages:
Si tu veux uniquement le nom des paquetages:
Code : Sélectionner tout - Visualiser dans une fenêtre à part mingw-get list
Attention, pour les exacutables, tu peux installer indifféremment des packages mingw32-* ou msys-*. En revanche, pour les bibliothèques, n'utilise que mingw32-*, sinon les exécutables que tu généreras et dépendants de ces bibliothèques seront aussi dépendants de MSYS.
Code : Sélectionner tout - Visualiser dans une fenêtre à part mingw-get list | egrep "^Package"
Je pense que je vais tout desinstaller et tout installer proprement.
Je remarque que les installations se font dans le répertoire où j'ai mis la première fois mingw-get . J'ai bricolé des choses car il ne trouvait le compilateur => j'ai vu que je ne l'avais pas installé
Donc, au total, je ne pense pas avoir arrangé les affaires Mais, c'est en cherchant qu'on apprend ! Aujourd'hui, je découvre mingw-get et msys sous windows. Ce sont des prérequis pour comprendre tes explications sur l'installation de libzip sous Windows !
J'ai du boulot, je reviens plus tard !
Je te conseille de lire le tutoriel officiel:
http://mingw.org/wiki/Getting_Started
Merci ! Je viens donc de refaire une nouvelle installation
Je regarde les sources que j'ai vues cet après midi : http://lynix.digitalpulsesoftware.co...ack-mingw-get/
Cette source ne parle que de l'installation en ligne de commande Mais, elle donne le lien entre Code::Block et min-gw.
Comme mon windows est sous VM... Le configure a été très lent, le make semble tout aussi lent et j'attends pour le make install... Mais contrairement à mes premiers tests de début d'après-midi, le configure passe
J'ai des problèmes au make...
Le premier, c'est qu'il ne trouve pas addçdir.exe avec une série d'erreur à la compilation :
Euh... C'est quoi ce répertoire /opt/gtk-2.22/bin ? Je ne l'ai pas ! Il faut aussi installer à la main gtk ? En plus la version 2.22 est trop vieille pour faire du compatible gtk3 !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 error: expected ',' or '\' before 'c' error : stray '\' inprogramm
Qui peut m'aider pour mon erreur ?
Elle est au niveau du make. La dernière ligne avant le problème et le début de la suite ( copie à la main de l'écran ) :
Je pense que ce problème venait de la présence d'espace dans le chemin.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 /bin/sh ../libtool --tag=CC --mode=link gcc -g -02 -o zipcmp.exe zipcmp-zipcmp.o ../lib/libzip.la -lz libtool: link: gcc -g -02 -0 .libs/zipcmp.exe zipcmp-zipcmp.o ../lib/.libs/libzip.dll.a -lz -L/opt/libzip-0.10/lib ./.libs/lt-zip.c:288:35: error : expected ',' or ';' before 'c' ./.libs/lt-zip.c:288:35: error : stray '\' in program
J'ai changé le chemin et j'ai d'autres erreurs mais, plus tard il me semble
J'ai vu :J'ai donc voulu tester...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 /bin/sh: mdoc2man: command not found make[2]: *** [zip_fclose.man] Error 127 make[2]: Leaving directory `/c/clizip-0.10/man' make[1]: *** [all-recurcive] Error 1 make[1]: Leaving directory `/c/clizip-0.10' make: *** [all] Error 2
Et bien, pkg-config n'est pas reconnu. Je sens comme un problème
Salut,
Lorsque tu renseignes un chemin en dur dans ton code source, tu dois échapper chaque caractère spécial par un backslash. Sous Windows on utilise aussi le backslash pour séparer les répertoires dans un chemin, et il se trouve que backslash est aussi un caractère spécial. Donc il faut doubler les backslash pour que le compilateur sache bien que '\' est bien un caractère comme un autre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 /bin/sh ../libtool --tag=CC --mode=link gcc -g -02 -o zipcmp.exe zipcmp-zipcmp.o ../lib/libzip.la -lz libtool: link: gcc -g -02 -0 .libs/zipcmp.exe zipcmp-zipcmp.o ../lib/.libs/libzip.dll.a -lz -L/opt/libzip-0.10/lib ./.libs/lt-zip.c:288:35: error : expected ',' or ';' before 'c' ./.libs/lt-zip.c:288:35: error : stray '\' in program
Lorsque tu fais ton ./configure, il y a pas un --enable-mdocquelquechose=no que tu pourrait rajouter ? Tu peux vérifier ça avec ./configure --help.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 /bin/sh: mdoc2man: command not found make[2]: *** [zip_fclose.man] Error 127 make[2]: Leaving directory `/c/clizip-0.10/man' make[1]: *** [all-recurcive] Error 1 make[1]: Leaving directory `/c/clizip-0.10' make: *** [all] Error 2
Pour la première remarque, c'est pour ça que j'ai pris un chemin sans espace ni autres caractères originaux dedans.
Le problème, c'est que je récupère des choses toutes prêtes qui devraient marcher non ?
Le --help me sort bien des possibilités de --enable . il y a fast install, static, shared et dependency-tracking .
Le lien n'existe plus C'est ça peut-être : http://slash.developpez.com/tutoriel...sation-libzip/ ?
C'est un peu logique si tu ne l'as pas mise dans ton PATH...
pkg-config se trouve là où tu a installé GTK. Chez moi, il est là: /opt/gtk-2.24.5/bin/pkg-config
Il te faut donc éditer par exemple ton fichier $HOME/.profile pour ajouter le chemin où il se trouve:
Tu fermes ta console, tu la relances, et un
Code : Sélectionner tout - Visualiser dans une fenêtre à part export PATH="$PATH:/opt/gtk-2.24.5/bin"
devrait te renvoyer quelque chose du genre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part which pkg-config
C'est parce qu'il faut faire un copier/coller UNIX (car Ctrl+V est un caractère d'échappement dans un shell). Tu sélectionnes le texte dans firefox, tu reviens dans ton terminal, et tu cliques sur la molette de ta souris. Tu peux remplacer le clic molette par la combinaison de touches Shift + Insert.
Code : Sélectionner tout - Visualiser dans une fenêtre à part /opt/gtk-2.24.5/bin/pkg-config.exe
Bon... Je n'ai pas encore installé gtk... Je comptais passer à gtk3 après avoir travaillé libzip.
Donc, il faut le faire dès maintenant. Je vais m'y mettre.
Partager