seetaface6 JNI编译,编译成不依赖cmake的so
可以看我做好的Seetaface6SDK项目:**项目地址**
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
说明:以前编译的so或dll都需要依赖cmake和vs,才能运行
CMakeLists.txt文件
以编译FaceAntiSpoofingX6JNI为例
cmake_minimum_required(VERSION 3.12.0)
# Declares and names the project.
project("FaceAntiSpoofingX6JNI")
# Creates and names a library, sets it as either STATIC
# or SHARED, and provides the relative paths to its source code.
# You can define multiple libraries, and CMake builds them for you.
# Gradle automatically packages shared libraries with your APK.
set(CMAKE_CXX_STANDARD 14)
include_directories(/usr/local/jdk-11/include)
include_directories(/usr/local/jdk-11/include/linux)
include_directories(../../build/include)
include_directories(../../build/include/seeta)
# ?.储浠g.婧..浠跺.?惧. project_src ?..涓
AUX_SOURCE_DIRECTORY(../FaceAntiSpoofingX6 project_src)
add_library( # Sets the name of the library.
${PROJECT_NAME}
# Sets the library as a shared library.
SHARED
# Provides a relative path to your source file(s).
${project_src})
add_library(TenniS SHARED IMPORTED)
set_target_properties(TenniS PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/../../build/lib64/libtennis.so)
add_library(SeetaAuthorize SHARED IMPORTED)
set_target_properties(SeetaAuthorize PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/../../build/lib64/libSeetaAuthorize.so)
add_library(FaceAntiSpoofingX6 SHARED IMPORTED)
set_target_properties(FaceAntiSpoofingX6 PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/../../build/lib64/libSeetaFaceAntiSpoofingX600.so)
target_link_libraries( # Specifies the target library.
${PROJECT_NAME}
TenniS
SeetaAuthorize
FaceAntiSpoofingX6
)
只要添加 set(CMAKE_CXX_FLAGS_RELEASE"/MT")
即可:
如下:
cmake_minimum_required(VERSION 3.12.0)
# Declares and names the project.
project("FaceAntiSpoofingX6JNI")
# Creates and names a library, sets it as either STATIC
# or SHARED, and provides the relative paths to its source code.
# You can define multiple libraries, and CMake builds them for you.
# Gradle automatically packages shared libraries with your APK.
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_FLAGS_RELEASE"/MT") # 这是加的 MT配置
include_directories(/usr/local/jdk-11/include)
include_directories(/usr/local/jdk-11/include/linux)
include_directories(../../build/include)
include_directories(../../build/include/seeta)
AUX_SOURCE_DIRECTORY(../FaceAntiSpoofingX6 project_src)
add_library( # Sets the name of the library.
${PROJECT_NAME}
# Sets the library as a shared library.
SHARED
# Provides a relative path to your source file(s).
${project_src})
add_library(TenniS SHARED IMPORTED)
set_target_properties(TenniS PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/../../build/lib64/libtennis.so)
add_library(SeetaAuthorize SHARED IMPORTED)
set_target_properties(SeetaAuthorize PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/../../build/lib64/libSeetaAuthorize.so)
add_library(FaceAntiSpoofingX6 SHARED IMPORTED)
set_target_properties(FaceAntiSpoofingX6 PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/../../build/lib64/libSeetaFaceAntiSpoofingX600.so)
target_link_libraries( # Specifies the target library.
${PROJECT_NAME}
TenniS
SeetaAuthorize
FaceAntiSpoofingX6
)