Kotlin/Native张量流

Kotlin/Native Tensorflow

我创建了一个 tensorflow 库并尝试在我的 kotlin 脚本中获取 tensorflow 版本

import tensorflow.TF_Version

fun main(args: Array<String>) {
    TF_Version()
}

idea 可以 link TF_Version() 方法到库用 Ctrl+click 那里(在图书馆)我有方法

fun TF_Version(): CPointer<ByteVar>? {
    return interpretCPointer<ByteVar>(kniBridge0())
}

@SymbolName("tensorflow_kniBridge0")
private external fun kniBridge0(): NativePtr

但是当我尝试构建并启动时,我看到了这个错误

/tmp/konan_temp8584442034275821874/combined.o:ld-temp.o:function Konan_start: error: undefined reference to 'tensorflow_kniBridge0' error: /home/fnasibov/.konan/dependencies/target-gcc-toolchain-3-linux-x86-64/x86_64-unknown-linux-gnu/bin/ld.gold invocation reported errors

请帮我解决这个问题

找到解决方案: 我的 .def 文件是

headers =  /home/user/.konan/third--arty/tensorflow/include/tensorflow/c/c_api.h

在我将 Opts 添加到 def 文件后:

headers = /home/fnasibov/.konan/third-party/tensorflow/include/tensorflow/c/c_api.h

compilerOpts.linux = -I/usr/include -I/usr/include/x86_64-linux-gnu
linkerOpts.linux = -L/home/user/.konan/third-party/tensorflow/lib -ltensorflow

并重新生成 klib - 成功了!