[newbies] Кто-нибудь знает что значит "undefined reference to" при сборке?
Евгений Ростовцев
real.altlinux.org на gmail.com
Ср Сен 19 07:06:01 MSK 2012
> А как явно прописать линковку?
Она явно прописана. В том файле, фикс которого я прислал, строка 27:
pkg_check_modules(DEPS REQUIRED gtk+-3.0 gio-unix-2.0 gthread-2.0 gee-1.0)
Она устанавливает переменную DEPS_LIBRARIES в конкатенацию значений,
которые возвращают имена библиотек из файлов pkg-config всех указанных
пакетов. Потом эта переменная используется в строке 32-34:
set(LIBS
${DEPS_LIBRARIES}
)
Значение перменной можно просмотреть в файле BUILD/CMakeCache.txt, у
меня оно вот такое:
DEPS_LIBRARIES:INTERNAL=gtk-3;gdk-3;atk-1.0;pangocairo-1.0;gdk_pixbuf-2.0;cairo-gobject;pangoft2-1.0;pango-1.0;m;fontconfig;freetype;cairo;gio-2.0;gthread-2.0;rt;gee;gobject-2.0;glib-2.0
Что приведёт вот к такой строке линковки:
-lgtk-3 -lgdk-3 -latk-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0
-lcairo-gobject -lpangoft2-1.0 -lpango-1.0 -lm -lfontconfig -lfreetype
-lcairo -lgio-2.0 -lgthread-2.0 -lrt -lgee -lgobject-2.0 -lglib-2.0
--
REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ
ALT Linux team
Подробная информация о списке рассылки devel-newbies