我想在我的 Android NDK 项目中使用 libjpeg-turbo(仅 libjpeg)。我找不到如何将库完全添加到我的项目中。
- 首先,我使用
BUILDING.md
(作为四个ANDROID_ABI
:arm64-v8a
,,,,armeabi-v7a
)来构建它。x86
x86-64
- 其次,我在我的项目
src/main/cpp
文件夹中准备libjpeg
并放入ANDROID_ABI
文件夹 libjpeg.a 静态库。
接下来我添加CMakeLists.txt
:
add_library( libjpeg STATIC IMPORTED )
set_target_properties( libjpeg
PROPERTIES
IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/libjpeg/${ANDROID_ABI}/libjpeg.a )
# and
target_link_libraries(
native-lib
libjpeg
${log-lib})
下面是我的整个 CMakeLists.txt:
cmake_minimum_required(VERSION 3.4.1)
add_library( libjpeg STATIC IMPORTED )
set_target_properties( libjpeg
PROPERTIES
IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/libjpeg/${ANDROID_ABI}/libjpeg.a )
include_directories(src/main/cpp/rapidjson/)
include_directories(src/main/cpp/Eigen)
file(GLOB CPP_FILES "src/main/cpp/*.cpp")
add_library(
native-lib
SHARED
native-lib.cpp
common.cpp
archive.cpp
crc32.cpp
image.cpp
read_manifest.cpp
sensors.cpp
thumbnail.cpp
upf.cpp
upf-toolkit.cpp
write_manifest.cpp
write_upf.cpp
)
find_library(log-lib log)
target_link_libraries(native-lib libjpeg ${log-lib})
我没有构建错误,但我无法在我的 cpp 文件中包含 libjpeg 标头。