2015-03-18 2 views
0

У меня есть новый RasPi 2, я установил последнюю версию Raspbian и все библиотеки, которые мне нужны, чтобы скомпилировать проект, над которым я работаю. Библиотеки были установлены из репозиториев после «sudo apt-get update», поэтому они должны быть последней версией.Raspberry PI 2 undefined ссылка на

составителя проекта прекрасно, но на связь я получаю следующие ошибки работы:

/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgobject-2.0.so: undefined reference to `g_markup_parse_context_ref' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0: undefined reference to `g_variant_new_take_string' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgobject-2.0.so: undefined reference to `g_datalist_id_replace_data' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0: undefined reference to `g_spawn_check_exit_status' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgtk-3.so: undefined reference to `g_slist_copy_deep' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgobject-2.0.so: undefined reference to `g_unix_signal_funcs' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgobject-2.0.so: undefined reference to `g_variant_dict_unref' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0: undefined reference to `g_hash_table_get_keys_as_array' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0: undefined reference to `g_variant_dict_end' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0: undefined reference to `g_source_query_unix_fd' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgobject-2.0.so: undefined reference to `g_datalist_id_dup_data' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgobject-2.0.so: undefined reference to `g_unix_fd_source_funcs' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0: undefined reference to `g_str_tokenize_and_fold' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0: undefined reference to `g_variant_new_from_bytes' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0: undefined reference to `g_variant_check_format_string' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0: undefined reference to `g_list_copy_deep' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0: undefined reference to `g_variant_get_data_as_bytes' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgobject-2.0.so: undefined reference to `g_variant_dict_ref' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0: undefined reference to `g_source_add_unix_fd' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0: undefined reference to `g_close' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0: undefined reference to `g_variant_dict_new' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0: undefined reference to `g_variant_dict_insert_value' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0: undefined reference to `g_option_context_parse_strv' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0: undefined reference to `g_unix_fd_source_new' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgtk-3.so: undefined reference to `g_variant_parse_error_quark' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgobject-2.0.so: undefined reference to `g_markup_parse_context_unref' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0: undefined reference to `g_source_get_ready_time' 
/home/andrei/rpi/usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0: undefined reference to `g_source_set_ready_time' 

Что может быть проблема и как я могу это исправить?

Спасибо!

+0

Возможно, вы захотите проверить папку «Суперпользователь» (https://superuser.com/) ». Этот тип вещей заключается в том, что они специализируются. –

+1

Важное значение имеет порядок, который вы размещаете в библиотеке для связи с командной строкой. Если библиотека A зависит от библиотеки B, то A должно быть до B в командной строке компоновщика. Кроме того, все библиотеки должны поступать после любых исходных или объектных файлов. –

+0

Я использую Eclipse для компиляции проекта. Команда linkage добавляет библиотеки в следующем порядке: -lgtk-3 -lcurl -lxml2 -ltag -latkmm-1.6 -lgdkmm-3.0 -lsigc-2.0 -lpangomm-1.4 -lcairomm-1.0 -lgiomm-2.4 -lgtkmm-3.0 - lgstreamer-0.10 -lpthread -lglibmm-2.4 -lgdk-3 -lgobject-2.0 -lglib-2.0 –

ответ

1

У меня такая же ошибка, но проблема была решена путем чтения libglib-2.0.so.
Поскольку неопределенные ссылки, показанные в вашем сообщении, должны содержаться в /lib/arm-linux-gnueabihf/libglib-2.0.so, проект должен прочитать эту библиотеку.
Возможно, вам будет полезно проверить путь к библиотеке или путь поиска библиотеки.
Извините за мой плохой английский.

Смежные вопросы