Ошибка «Неопределенная ссылка» означает, что вы не связываете библиотеку, предоставляющую отсутствующий символ. В этом случае вам нужно связать библиотеку, которая предоставляет функцию Esys_Initialize
.
Если вы компилируете вручную, вы можете использовать:
$ gcc $(pkg-config --cflags --libs tss2-esys) test.c
В этом случае я использовал pkg-config --list-all | grep tss
, чтобы найти имя этого пакета. Вы также можете проверить необходимые флаги компилятора и компоновщика вручную:
$ pkg-config --cflags --libs tss2-esys
-I/usr/include/tss -ltss2-esys
Если вы не собираете вручную, но вам нужно использовать систему сборки (например, make, cmake, ...) или IDE, тогда вам придется добавить эти флаги компилятора (-I/usr/include/tss
) и флаги компоновщика (-ltss2-esys
) в ваши системы сборки. Конкретные шаги c будут зависеть от того, какую систему сборки вы используете.