9
votes

LIQUÉE STATIFICY LIEN, BIBLIOTHÈQUE DE READLINE DE TRAVAIL SOUS WINDOWS?

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.

J'ai essayé plusieurs approches:

  • bâtiment à l'aide de Cygwin (non accompagné avec la ligne de lecture fournie associée à -Mno-cygwin ou un compilateur MINGW),
  • bâtiment à l'aide de Mingw et readline de GNUWIN32 (dépendances non résolues à STATT64, que je ne pouvais pas résoudre),
  • 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é).

    Des idées Comment nous pourrions avoir l'une des approches du travail?


3 commentaires

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.


3 Réponses :


0
votes

gnuwin32 a un port de lecture en lecture: http://gnuwin32.sourceforge.net/packages/readline .htm

Pour des projets non-GPL, LIBEDIT dispose d'une licence plus acceptable [utilise la licence BSD]


2 commentaires

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



4
votes

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> xxx pré>

Définissez des variables d'environnement pour la construction 32 bits: p> xxx pré>

termcap 1.3.1. A> strong>
Exécutez le script de configuration: p> xxx pré>

éditer termcap.c et réparer quelques lignes en haut. Le mien ressemble à ceci: p> xxx pré>

et tparam.c p> xxx pré>

modifier le maquillage: p>

Line 40: AR = i686-w64-mingw32-ar

strong>
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


5 commentaires

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



2
votes

Vérifiez bibliothèque Mingweditline

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.

Les fonctions principales de readline sont implémentées pour la console Windows natif. Licence BSD.


1 commentaires

Votre lien est l'emplacement de téléchargement. Voici le site Web: mingweditline.sourceforge.net