Разбираюсь с основами расширений в postgresql 10.6. Для тестирования написал небольшую утилиту и подключил в cmake libpq. Делаю что-то в этом духе:
text *t = PG_GETARG_TEXT_P(0);
char *str = text_to_cstring(t);
PG_RETURN_CSTRING(pstrdup(str));
text_to_cstring и cstring_to_text определены как extern и при попытке компиляции выдает следующие ошибки:
main.cpp:-1: error: undefined reference to `text_to_cstring(varlena const*)'
main.cpp:-1: error: undefined reference to `cstring_to_text(char const*)'
Тоже самое происходит с palloc. При сборке в библиотеку и добавление в postgresql все работает.
Что идет не так? И каким способ лучше всего дебажить подобные вещи?
cstring_to_text? – user7860670 Mar 04 '19 at 11:23