2016-07-19 13 views
0

Ich versuche restclient-cpp auf Cygwin zu verwenden; aber wenn ich versuche, um die Bibliothek zu kompilieren und installieren, erhalte ich die folgende Meldung:Compilierung von restclient-cpp auf Cygwin erstellt keine gemeinsam genutzten Bibliotheken

libtool: warning: undefined symbols not allowed in x86_64-unknown-cygwin shared 
libraries; building static only 

der Tat mein Programm kompiliert, bis der Punkt, wenn ld versucht, die ausführbare Datei zu verknüpfen, mit einer Reihe von Fehlern effektiv alle sagen :

undefined reference to `RestClient::post(std::string const&, std::string const&, 
std::string const&)' 
    relocation truncated to fit: R_X86_64_PC32 against undefined symbol `RestClient::post(
std::string const&, std::string const&, std::string const&)' 
collect2: error: ld returned 1 exit status 

Gibt es eine mögliche Lösung dafür?

Ich bin auf Cygwin mit GCC kompilieren 6.1.0 libtool 2.4.6

EDIT: Übermittelt Github Ausgabe bei https://github.com/mrtazz/restclient-cpp/issues/55, vielleicht Autor der Bibliothek wird eine Antwort haben.

+0

wissen Sie, was liefert 'RestClient :: post'? – matzeri

+0

restclient-cpp sollte sein; Die gemeinsam genutzte Bibliothek wird jedoch nicht erstellt und kann daher nicht verknüpft werden. – Absox

Antwort

0

Unter der Annahme, dass alle Symbole in der Bibliothek vorhanden sind, Sie auf der entsprechenden Makefile.am das Flag -no-undefined auf die richtigen your_lib_la_LDFLAGS

Mann Siehe von libtool hinzufügen müssen für -no-undefined

+0

Ich habe das versucht; aber es scheint mir, dass es nur die Warnung unterdrückt. Die Dynamic Link Libraries werden immer noch nicht erstellt. – Absox

+0

Wenn fehlschlägt, da fehlende Definitionen vorhanden sind, sollte die Warnung/der Fehler vorhanden sein. – matzeri