LINUX.ORG.RU

История изменений

Исправление Gvidon, (текущая версия) :

В сишной либе нет функции с определённым *именем*. Ты написал объявление

extern struct ipset_session *ipset_session_init(ipset_outfn_t ipset_outfn );
в плюсовом коде. Не указал extern «C». Компилятор воспринимает это как объявление плюсовой функции, которая в бинаре будет иметь имя, задекорированное по правилам декорации имён C++. Такую линкер и ищет.

https://en.wikipedia.org/wiki/Name_mangling

Исходная версия Gvidon, :

В сишной либе нет функции с определённым *именем*. Ты написал объявление

extern struct ipset_session *ipset_session_init(ipset_outfn_t ipset_outfn );
в плюсовом коде. Не указал extern «C». Компилятор воспринимает это как объявление плюсовой функции, которая в бинаре будет иметь имя, задекорированное по правилам декорации имён C++. Такую линкер и ищет.