[newbies] Кто-нибудь знает что значит "undefined reference to" при сборке?

Ivan A. Melnikov iv на altlinux.org
Пн Сен 17 15:21:31 MSK 2012


On Mon, 17 Sep 2012 13:20:38 +0400
gBopHuk_alt <gbophuk_alt на mail.ru> wrote:

> В Пнд, 17/09/2012 в 15:13 +0700, Евгений Ростовцев пишет:
> 
> > По уже установленным.
> > 
> 
> Если по уже установленным, то по идее в hasher она бесполезна =((
[...]

Если программа на С или C++ скомпилировалась (то есть, получили
объектные файлы, обычно *.o), то скорее всего необходимые пакеты (а
значит и разделяемые библиотеки) в сборочной среде уже есть. Поэтому
findsym очень даже полезна именно в ней:

$ hsh-install findsym
$ hsh-shell

и там уже

[builder на localhost .in]$ findsym gtk_button_box_set_child_non_homogeneous
/usr/lib64/libgtk-3.so: 00000000000c146f T gtk_button_box_set_child_non_homogeneous
/usr/lib64/libgtk-3.so.0: 00000000000c146f T gtk_button_box_set_child_non_homogeneous

> Хотя я не особо понимаю смысл ошибки линковки.
[...]

Смысл той ошибки, которая была в первоначальном посте, в том, что в
полученном исполняемом файле granite-demo есть ссылки на символы (в
данном случае -- функции), которые ни одна требуемая им библиотека не
предоставляет. Эти символы скорее всего не будут найдены динамическим
компоновщиком при старте программы, так что granite-demo окажется
неработоспособен.

-- 
WBR,
Ivan A. Melnikov


Подробная информация о списке рассылки devel-newbies