2017-06-16 1 views
0

Ich mache eine gemeinsame Bibliothek, die libgmp benötigt. Mein Ziel ist es, statische libgmp in meine gemeinsame Bibliothek eingebettet.Verschiebung R_X86_64_PC32 gegen Symbol `__gmpn_invert_limb 'kann nicht verwendet werden, wenn ein gemeinsames Objekt erstellt wird; kompiliere mit -fPIC

Ich habe versucht ./configure mit CFLAGS = "- fPIC". Außerdem habe ich auch versucht, alle Makefile im Unterverzeichnis libgmp source zu ändern, um den gesamten Code mit -fPIC zu kompilieren. (dreckige Arbeit)

Allerdings habe ich immer noch die Fehlermeldung, wenn ich libgmp.a mit meiner gemeinsam genutzten Bibliothek verbinde.

/usr/bin/ld: /usr/local/lib/libgmp.a(divrem_1.o): Verschiebung R_X86_64_PC32 gegen Symbol `__gmpn_invert_limb 'kann nicht verwendet werden, wenn ein gemeinsames Objekt erstellt wird; kompilieren mit -fPIC

Wie kann ich eine statische libgmp.a erstellen, die in meine gemeinsame Bibliothek verknüpft werden kann? Danke.

+0

Bitte zeigen Sie Ihre (1) Konfigurationszeile und Dinge, um es wie 'CFLAGS' führten; (2) Konfigurationszusammenfassung von Autotools und (3) die Befehlszeile, die für 'divrem_1.c' verwendet wird. – jww

Antwort

0

versuchen Sie dies:

./configure --with-pic 
Verwandte Themen