linkovani programu s knihovnou libdl.so.1 (interbase 4.0)

Míla Kuchta mila.kuchta na atlas.cz
Úterý Leden 18 15:41:25 CET 2000


horak na sit.plzen-city.cz (Horak Daniel) wrote:
>> #cc zkouska.o -o zkouska -lgdslib -ldl
>> 
>> /usr/bin/ld: warning: libdl.so.1, needed by /usr/lib/libgdslib.so, may
>> conflict with libdl.so.2 /usr/lib/libgdslib.so: undefined 
>> reference to `_xstat'
>> /usr/lib/libgdslib.so: undefined reference to `__setjmp'
>> /usr/lib/libgdslib.so: undefined reference to `crypt'
>> /usr/lib/libgdslib.so: undefined reference to `_fxstat'
>> collect2: ld returned 1 exit status
>> 
>> Nevi nekdo co s tim?
>
>je treba linkovat s libcrypt (pro funkci crypt) a libNoVersion-2.x.y (pro
>xstat a fxstat), tedy pridat
> "-lcrypt -lNoVersion-2.1.2" (funguje na mem RH6.1) - chvili mne trvalo, nez
>jsem prisel na to linkovani s libNoVersion ;-)
>
>			Dan
>
Mam jednodudy programek zkouska vyuzivajici embedded SQL. Na RH 6.1 cz s
interbase 4.0 ho prelozim s parametry:

gpre -z -m -n zkouska.e -- O.K.  -> zkouska.c
cc -w -c zkouska.c -- O.K. -> zkouska.o
cc zkouska.o -o zkouska -lgdslib -ldl -lcrypt -lNoVersion-2.1.2
a vyhodi to toto:
/usr/bin/ld: warning: libdl.so.1, needed by /usr/lib/libgdslib.so, may conflict
with libdl.so.2 
kdyz to slinkuji s:
cc zkouska.o -o zkouska -lgds -ldl -lcrypt -lNoVersion-2.1.2
tak to projede, ale program po spusteni vycoruje.

Souboru odb.gdb obsahuje jen jednu tabulku (tabulka), ktera je vytvorena ve
visualnim nastroji od Inprise ve Windows.

#include <stdio.h>
#include "/usr/interbase/include/ibase.h"

EXEC SQL
    SET DATABASE databaze = "odb.gdb";

void main (void)
{  
    char first, last;
    int age;

    EXEC SQL
	CONNECT "databaze";

    EXEC SQL
	SELECT jmeno, prijmeni, vek
	INTO :first, :last, :age
	FROM tabulka;

    printf("Jmeno, Vek: %s %s, %s\n", first, last, age);


    EXEC SQL
	DISCONNECT databaze;
}


Další informace o konferenci Linux