Глобальные переменные в общей библиотеке?
Я пытаюсь добавить глобальные переменные в общую библиотеку. Рассмотрим этот пример, в библиотеке libutils, globals.vala содержит
namespace Libutils {
public static GLib.Object yorgi_obj;
public static int yorgi_int;
}
Я вижу, что внешние файлы правильно генерируются в файлах.c &.h
libutils:globals.c
extern GObject* libutils_yorgi_obj;
GObject* libutils_yorgi_obj = NULL;
extern gint libutils_yorgi_int;
gint libutils_yorgi_int = 0;
libutils:globals.h
extern GObject* libutils_yorgi_obj;
extern gint libutils_yorgi_int;
Моя тестовая программа, tester.vala
int main(string[] args) {
Libutils.yorgi_int = 1;
Все хорошо в составлении tester.vala. Но ссылку на Libutils.so я получаю
...tester.vala:614: undefined reference to `libutils_yorgi_int'
Нужно ли указывать какие-то специальные атрибуты vala или передавать что-либо компоновщику?