Nous développons un package logiciel C ++ qui dépend de la bibliothèque GNU LireLine et nous construisons généralement à l'aide de GCC (nécessitant au moins la version 4). Maintenant, nous aimerions le porter sur Windows, l'obtention d'une version liée statique que nous pouvons redistribuer sans nécessiter de compilation par les utilisateurs. P>
J'ai essayé plusieurs approches: p>
-Mno-cygwin code> ou un compilateur MINGW), LI>
- bâtiment à l'aide de Mingw et readline de GNUWIN32 (dépendances non résolues à STATT64, que je ne pouvais pas résoudre), Li>
- bâtiment à l'aide de MINGW et de construction en lecture ligne et nécessitait des PDCurses de la source (approche la plus prometteuse, se rendre à un binaire statique! Mais la coque interactive obtenue s'est comportée de manière incorrecte, E.G. Backspace n'a pas été visualisé). Li>
ul>
Des idées Comment nous pourrions avoir l'une des approches du travail? P>
3 Réponses :
gnuwin32 a un port de lecture en lecture: http://gnuwin32.sourceforge.net/packages/readline .htm p>
Pour des projets non-GPL, LIBEDIT dispose d'une licence plus acceptable [utilise la licence BSD] p>
J'ai déjà mentionné que je ne pouvais pas obtenir ce port de compiler sous Mingw?
Donnez plus de détails sur votre plate-forme. J'ai pu le construire sur ma boîte
Après des frustrations similaires, je viens de compiler une version 32 bits et 64 bits de Libraadline 6.2 en utilisant Mingw-W64 . Voici mon comment je l'ai fait:
Layout de mon dev em> répertoire: p> Définissez des variables d'environnement pour la construction 32 bits: p> éditer termcap.c et réparer quelques lignes en haut. Le mien ressemble à ceci: p> et tparam.c p> modifier le maquillage: p>
Exécutez le script de configuration: p> Line 40: AR = i686-w64-mingw32-ar
Définissez les mêmes variables CPPFLAGS et LDFLAGS comme avec TermCap avant d'appeler: P> ./configure --prefix=/c/dev/local32 --host=i686-w64-mingw32 --enable-static --enable-shared
Pouvez-vous donner un peu plus d'informations sur vos actions? J'ai essayé de le suivre mais j'ai été coincé sur deux problèmes. Premièrement, la configuration TermCap ignore la spécification d'hôte et les valeurs par défaut à mon ciblage UNIX G ++. Deuxièmement, il n'y a pas d'option dans la configuration de Readline pour spécifier l'emplacement de la bibliothèque TermCap (ou vous avez également édité cela)?
Super! Je l'ai fait fonctionner, à l'aide de MINGW-W64 Crossciling de Unix, sans avoir à modifier les fichiers TermCap! Un conseil utile: Vous pouvez spécifier des exécutables CC, CXX, AR et Ranlib dans la commande Configurer (vous pouvez donc laisser le maquillage inchangé)
Les liens LIVELINE 6.2 ne fonctionnent pas sur moi, il montrent ma page ISP en disant qu'il ne peut pas résoudre le nom d'hôte
@Fox web.archive.org/web/20171009055709/http://cnswww.cns.cwru.ed u / ...
ok merci ajouter une note à ce sujet ou changer le lien pour l'avenir quand quelqu'un a lu ceci
Vérifiez bibliothèque Mingweditline P>
Une implémentation d'API d'édition pour la console Windows natif. Cette bibliothèque sous licence BSD fournit des fonctions de montage et d'historique de ligne de commande similaires à celles trouvées dans GNU Readline. P> blockQuote>
Les fonctions principales de readline sont implémentées pour la console Windows natif. Licence BSD. P>
Votre lien est l'emplacement de téléchargement. Voici le site Web: mingweditline.sourceforge.net
Je ne connais à rien à propos de la programmation de Windows et je ne peux pas vous aider avec cela, mais notez que GNU Readline est gillée, vous ne pouvez donc pas distribuer un seul package binaire (vous pouvez distribuer une infraction pré-compilée mais binaire uniquement est une infraction de droits d'auteur) .
Ah intéressant, quelles sont exactement ces exigences? (Notre projet est open-source afin que nous puissions certainement nous conformer, mais je ne suis pas très qualifié dans le département des licences :). Sont des choses comme la distribution d'un binaire avec une référence à la source en ligne autorisée ou la source doit-elle être incluse à tout moment?
Pour cela, vous avez besoin d'un avocat. Je crois que le binaire - avec référence est autorisé, tant que la source d'origine est disponible. Le plus gros obstacle est que votre logiciel doit également être GPL (pas une autre licence open source potentiellement plus lenient). Il y a un clone Lisline CopyRed BSD-Copyred appelé EditionLine à divers stades d'une vieillesse.