2016-06-29 8 views
0

Ich versuche, ICU 57 mit meiner Binärdatei zu verknüpfen. Das funktioniert nicht einmal beim Gedanken (ich denke zumindest) Ich verbinde die statischen lib-Dateien. Hier ist ein stumpfes Beispiel:GCC ICU 57 statische Verknüpfung

gcc -static /usr/lib/libicui18n.a /usr/lib/libicuuc.a /usr/lib/libicudata.a /usr/lib/libicule.a /usr/lib/libiculx.a /usr/lib/libicutu.a /usr/lib/libicuuc.a /usr/lib/libicuio.a obj/ex.o obj/msg.o -o bin/ex 

Dies ist die Fehlermeldung, die ich bekomme:

src/msg.c:5: undefined reference to `u_fopen_57' 
src/msg.c:9: undefined reference to `u_fgetfile_57' 
src/msg.c:10: undefined reference to `u_fgetfile_57' 
src/msg.c:11: undefined reference to `u_frewind_57' 
src/msg.c:18: undefined reference to `u_fgetc_57' 
src/msg.c:17: undefined reference to `u_feof_57' 
src/msg.c:25: undefined reference to `u_fclose_57' 

Verknüpfung der dynamischen Bibliotheken funktioniert jedoch in Ordnung.

+1

Mögliche Duplikat [Warum ist die Reihenfolge, in der Bibliotheken manchmal zu Fehlern führen in GCC verbunden sind ?] (http://stackoverflow.com/questions/45135/why-does-the-order-in-which-libraries-are-linked-omestimes-cause-errors-in-gcc) –

Antwort

0

Wenn Sie können, würde ich mit pkg-config empfehlen, wie ich here empfohlen,

speziell mit pkg-config --static … wie erklärt here

Verwandte Themen