GMP belgeleri, statik bağlamanın küçük bir performans artışı sağlayabileceğini söylüyor.Linux'ta libgmp statik olarak bağlanırken hata oluştu
Linux sistemlerimde statik olarak bağlantı kurabilmem için bir sorun yaşıyorum. Sorunları daralttım, küçük bir test vakasına gidiyorum.
gmptest.c
#include <gmp.h>
int main(int argc, char** argv) {
mpz_t foo;
mpz_init(foo);
return 0;
}
Makefile:
all: clean gmptest static
clean:
rm -f *.s
rm -f *.o
rm -f gmptest
rm -f static-gmptest
gmptest: Makefile gmptest.c
gcc -std=c99 -O3 -lgmp gmptest.c -o gmptest
static: clean Makefile gmptest.c
gcc -std=c99 -O3 -static /usr/lib/libgmp.a gmptest.c -o static-gmptest
statik olmayan ikili 'statik Yap' derlenmiş ve herhangi bir sorun olmadan bağlantılı, ancak üretir:
gcc -std=c99 -O3 -static /usr/lib/libgmp.a gmptest.c -o static-gmptest
/tmp/ccWSFke9.o: In function `main':
gmptest.c:(.text+0x8): undefined reference to `__gmpz_init'
collect2: ld returned 1 exit status
make: *** [static] Error 1
Kitaplık var:
[email protected]:~/Dropbox/static$ ls -lA /usr/lib/libgmp.a
-rw-r--r-- 1 root root 1041666 2010-02-26 13:20 /usr/lib/libgmp.a
Ayrıca, statik bağlantı için denedim, ancak hata aynıdır.
Bu, Ubuntu 10.04 ve 10.10 AMD64'tür.
Bazıları beni yaptığım bariz hatayla aydınlatabilir mi?
Teşekkürler,
Chris.
Yeniden sıralamayı denediniz mi, böylece kütüphaneler gerekli * komut satırındaki kütüphane kullanıcılarından * sonra? – ephemient