Я работаю над Tensorflow 2.0.0. Я могу скомпилировать библиотеку tflite для android с помощью следующей команды:
bazel build //tensorflow/lite:libtensorflowlite.so -c opt --cxxopt=--std=c++11 --config=android_arm
Однако, когда я пытался добавить что-то в libtensorflowlite.so, произошла ошибка компоновки.
Код, который я добавляю в // tenorflow / lite / BUILD:
tflite_cc_shared_object(
name = "libtensorflowlite.so",
linkopts = select({
"//tensorflow:macos": [
"-Wl,-exported_symbols_list,$(location //tensorflow/lite:tflite_exported_symbols.lds)",
"-Wl,-install_name,@rpath/libtensorflowlite.so",
],
"//tensorflow:windows": [],
"//conditions:default": [
"-z defs",
"-Wl,--version-script,$(location //tensorflow/lite:tflite_version_script.lds)",
],
}),
deps = [
":framework",
":tflite_exported_symbols.lds",
":tflite_version_script.lds",
"//tensorflow/lite/kernels:builtin_ops",
############ add this line #############
"//tensorflow/lite/toco/tflite:export",
########################################
],
)
Ошибка выглядит следующим образом:
error: cannot open Foundation: No such file or directory
./tensorflow/core/lib/core/errors.h:105: error: undefined reference to 'tensorflow::strings::StrCat(tensorflow::strings::AlphaNum const&)'
./tensorflow/core/lib/core/errors.h:105: error: undefined reference to 'tensorflow::Status::Status(tensorflow::error::Code, absl::string_view)'
.....
Почему это произошло и как я могу скомпилировать libtensorflowlite.so с коды в //tensorflow/lite/toco/directory.
Большое спасибо!