AndroidStudio JNI: 使用CMake编译tensorflow
一.
1.cmake配置錯誤: 對‘pthread_create’未定義的引用
在cmakelist.txt尾部添加:
find_package(Threads)
target_link_libraries (${PROJECT_NAME} ${CMAKE_THREAD_LIBS_INIT})
看運氣,貌似這個問題可以忽略...
2.安裝swig
sudo apt-get install libeigen3-dev
sudo apt-get install swig
?
3.在cmake里面config,成功通過
? 但在generator時候出現,找不到 tensorflow/tensorflow/contrib/data/kerenels/assert_next_dataset_op.cc
? 此文件,在 tensorflow/core/kernels/data/experimental/中找到..
?
二. 配置JNI到externalTools
2.1 查看JDK的路徑:https://www.cnblogs.com/jimcsharp/p/8378112.html
2.2 Error running 'javah': Cannot run program "JDKPath$/bin/javah" (in directory "/home/wishchin/Proj/OpenSource/tensorApp/tfLittle/AndroidTfMobileAndLite/tfwishjni/src/main/java"): error=2, 沒有那個文件或目
到處都是坑人的博文,在這篇文章的指引下配置成功:https://blog.csdn.net/honjane/article/details/52896204
$JDKPath$/bin/javah
-classpath . -jni -d $ModuleFileDir$/src/main/jni $FileClass$
$ModuleFileDir$/src/main/java
第二項只填$FileClass$,會出現 錯誤: 找不到 'com.example.tfwishjni.Tfwishjni' 的類文件。
NDK配置
/home/wishchin/Android/Sdk/ndk-bundle/ndk-build
空
$ProjectFileDir$/app/src/main
同理,少填app依然顯示找不到目錄...
?
三.使用NDK
多次配置依然沒有成功,因此放棄手動配置;直接新建一個工程,在AS中新建一個C++ native工程,默認JNI庫的名稱為native-lib;
此次可以編寫JNI程序;
?
?
?
總結
以上是生活随笔為你收集整理的AndroidStudio JNI: 使用CMake编译tensorflow的全部內容,希望文章能夠幫你解決所遇到的問題。