неопределенная ссылка и странное содержимое статической библиотеки - PullRequest
2 голосов
/ 16 июня 2010

Эй, я настоящий gcc newbee, так что извините, если это глупый вопрос.

Я хочу использовать opencv в android и поэтому пытаюсь скомпилировать его в статическую библиотеку, которая используется вПроцесс сборки android ndk для создания общей библиотеки, которую я собираюсь использовать для своего приложения для Android.Сборка библиотеки statc работает нормально, но при сборке разделяемой библиотеки я получаю жалобы на неопределенные ссылки.Поскольку файл казался правильно скомпилированным и включенным, я проверил ar -tv и увидел следующее:

---------       0/0         27304 Jun 16 18:15 2010 /  
---------       0/0            24 Jan  1 01:00 1970 //  
rw-r--r--     501/501       11192 Jun 16 18:13 2010 cxalloc.o/  
rw-r--r--     501/501      289760 Jun 16 18:13 2010 cxarithm.o/  
rw-r--r--     501/501      197368 Jun 16 18:13 2010 cxarray.o/  
rw-r--r--     501/501      335112 Jun 16 18:13 2010 cxcmp.o/  
rw-r--r--     501/501      422872 Jun 16 18:13 2010 cxconvert.o/  
rw-r--r--     501/501      127160 Jun 16 18:13 2010 cxcopy.o/  
rw-r--r--     501/501      191208 Jun 16 18:13 2010 cxdatastructs.o/  
rw-r--r--     501/501      141536 Jun 16 18:13 2010 cxdrawing.o/  
rw-r--r--     501/501      170936 Jun 16 18:13 2010 cxdxt.o/  
rw-r--r--     501/501       29008 Jun 16 18:13 2010 cxerror.o/  
rw-r--r--     501/501       48304 Jun 16 18:13 2010 cximage.o/  
rw-r--r--     501/501       23376 Jun 16 18:13 2010 /0  
rw-r--r--     501/501       61024 Jun 16 18:13 2010 cxlogic.o/  
rw-r--r--     501/501       39520 Jun 16 18:13 2010 cxlut.o/  
rw-r--r--     501/501      122064 Jun 16 18:14 2010 cxmathfuncs.o/  
rw-r--r--     501/501      600368 Jun 16 18:14 2010 cxmatmul.o/  
rw-r--r--     501/501      135824 Jun 16 18:14 2010 cxmatrix.o/  
rw-r--r--     501/501      140464 Jun 16 18:14 2010 cxmean.o/  
rw-r--r--     501/501      339224 Jun 16 18:14 2010 cxmeansdv.o/  
rw-r--r--     501/501      118208 Jun 16 18:14 2010 cxminmaxloc.o/  
rw-r--r--     501/501      497760 Jun 16 18:14 2010 cxnorm.o/  
rw-r--r--     501/501      119712 Jun 16 18:14 2010 cxouttext.o/  
rw-r--r--     501/501      346624 Jun 16 18:14 2010 cxpersistence.o/  
rw-r--r--     501/501        1688 Jun 16 18:14 2010 cxprecomp.o/  
rw-r--r--     501/501       86856 Jun 16 18:14 2010 cxrand.o/  
rw-r--r--     501/501      242768 Jun 16 18:15 2010 cxsumpixels.o/  
rw-r--r--     501/501       82320 Jun 16 18:15 2010 cxsvd.o/  
rw-r--r--     501/501      102024 Jun 16 18:15 2010 cxswitcher.o/  
rw-r--r--     501/501        5968 Jun 16 18:15 2010 cxtables.o/  
rw-r--r--     501/501       43720 Jun 16 18:15 2010 cxutils.o/  

Есть две строки, которые я не понимаю, вторая с датой 1970 иодин с \ 0 в качестве имени файла.Я тоже удивился, потому что nm ничего не возвращает.Когда я пробую randlib, я получаю:

ranlib: warning for library: libcxcore.a the table of contents is empty (no object file members in the library define global symbols)  

Файл, который должен отображаться вместо \ 0, - это файл, который определяет одну из функций, на которые нельзя ссылаться.

Iпопробовал это под OS X 10.6 и Ubuntu 10.04.

Есть какие-нибудь идеи по этому поводу или что еще я мог сделать, чтобы найти проблему?

1 Ответ

0 голосов
/ 21 июня 2010

возможно, команда, которую вы используете для создания статической библиотеки, неверна? Вы должны использовать «ar -rs». Опция "s" создает таблицу индексов. Это может быть вашей проблемой?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...