gcc: как собрать дин. либу с слинкованной в нее статической
От: Аноним  
Дата: 10.11.06 11:07
Оценка:
Есть задача — завернуть статическую либу в динамическу.
Если кратко — JNI — обертка, для вызова данной поставщиком либы из java.

gcc нифига не знаю.

Делаю так (ногами не бить, как подсказали, так и делал):
(Что я хотел нижеприведенным сделать:
собрать GprsListener.cpp, юзающий либу libtracker.a в либу
liblistener.so):

gcc -fPIC -c GprsListener.cpp -o GprsListener.o -I./include/linux -I./include
gcc -shared -o liblistener.so -Llib -ltracker -lm GprsListener.o -lstdc++

Собирается. При вызове из java говорит, что не может найти вызываемую функцию (функцию из libtracker.a).

Тоже самое, при сборке теста:

gcc -c test.c
gcc test.o -L. -llistener -o restest -lstdc++

Ругается:

./liblistener.so: undefined reference to `LT_GetEvent()'
./liblistener.so: undefined reference to `LT_Start(unsigned short)'
./liblistener.so: undefined reference to `LT_Stop()'
collect2: ld returned 1 exit status
____________

(перечисленные функции — из стстической либы)


Как собрать правильно?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.