libgadu
1.11.4
|
Kompilację biblioteki na systemach uniksowych lub uniksopodobnych (np. Windows
Gdzie ostatnią komendę wykonuje się z prawami administratora. Aby zainstalować bibliotekę w katalogu użytkownika, można wykonać polecenia:
Następnie, aby użyć lokalnie zainstalowanej kopii biblioteki, zwykle należy dodać do zmiennej CFLAGS
opcję -I/katalog/użytkownika/libgadu/include
, a do LDFLAGS
opcję -L/katalog/użytkownika/libgadu/lib
.
Przy kompilacji skrośnej konieczne jest użycie parametru –with-c99-vsnprintf
lub –without-c99-vsnprintf
w skrypcie configure
, który mówi o tym, że funkcje rodziny sprintf()
na docelowej platformie są zgodne lub niezgodne ze standardem C99. Jeśli żaden z powyższych parametrów nie zostanie użyty, skrypt configure
spróbuje uruchomić program testowy, co przy kompilacji skrośnej się nie powiedzie.
Biblioteka oferuje dwa sposoby rozwiązywania nazw serwerów w trybie asynchronicznym: za pomocą osobnego procesu lub za pomocą osobnego wątku. Druga możliwość jest zalecana dla programów, które korzystają z wątków systemowych, ponieważ użycie funkcji fork()
do tworzenia procesu potomnego w aplikacji korzystającej z wątków może powodować problemy. W wersjach wcześniejszych niż 1.9.0 sposób rozwiązywania nazw był wybierany na etapie kompilacji, co powodowało problemy, gdy w systemie były zainstalowane aplikacje korzystające i niekorzystające z wątków systemowych. Od wersji 1.9.0, jeśli jest to możliwe, kompilowane są obie wersje, a wybór jest dokonywany przez aplikację. Dostępność opcji przedstawia poniższa tabela:
Opcja configure | pthread dostępne | pthread niedostępne |
---|---|---|
brak | GG_RESOLVER_FORK (domyślnie)GG_RESOLVER_PTHREAD GG_RESOLVER_CUSTOM | GG_RESOLVER_FORK (domyślnie)GG_RESOLVER_CUSTOM |
–with-pthread | GG_RESOLVER_FORK GG_RESOLVER_PTHREAD (domyślnie)GG_RESOLVER_CUSTOM | błąd |
–without-pthread | GG_RESOLVER_FORK (domyślnie)GG_RESOLVER_CUSTOM | GG_RESOLVER_FORK (domyślnie)GG_RESOLVER_CUSTOM |