Использование функций библиотеки C в kotlin

Я пытался следить за этим блогом, и я успешно выполнил все шаги, но, тем не менее, когда я запускаю последнюю команду

konanc $COMPILER_ARGS -target macbook src/main/kotlin/logogen.kt -library build/c_interop/png -linkerOpts "-L/usr/local/lib -lpng" -o build/bin/logogen

Я получаю ошибки, которые говорят, что sqrt, pow, fopen, fclose все неразрешены

error: unresolved reference: sqrt

Это то, что находится в моем файле png.def

headers = /usr/local/include/png.h stdio.h stdlib.h string.h math.h

Импортировал его в мой файл logogen.kt как

import png.*

Спасибо!

2 ответа

compilerOpts = -lm в .def Файл должен сделать свое дело.

Что вы заменяете $COMPILER_ARGS с? Предположительно вы передаете туда библиотеки C, которые определяют те ссылки на C и которые требуются вашей программе. Например, для неопределенной ссылки sqrt вы бы добавили '-lm'. То же самое для всего, что компилятор говорит вам, отсутствует.

Другие вопросы по тегам