我刚刚开始掌握使用Android的NDK。
我正在尝试包含库头文件,因此将第三方库编译为我项目的依赖项。
但是我无法包含图书馆,我觉得我做错了。
我的项目结构
jni
--mylib.cpp
--CMakeLists.txt
----libs
------firpm_d
--------CMakeLists.txt
--------src
--------include
----------firpm
------------pm.h
我的 CMakeLists.txt 如下所示
# Cmake Minimum Version
cmake_minimum_required(VERSION 3.4.1)
project(MyLib)
# Add libraries
FOREACH(subdir ${SUBDIRS})
ADD_SUBDIRECTORY(${subdir})
ENDFOREACH()
add_library(mylib SHARED
mylib.cpp)
# Link
target_link_libraries(
mylib
android
log)
在我的mylib.cpp
文件中,我包括第三方lib,如下所示
#include "lib/firpm_d/include/firpm/pm.h"
但是当我尝试编译它时会给我一个错误
Error:(25) undefined reference to 'firpm(unsigned int, std::vector<double, std::allocator<double> > const&, std::vector<double, std::allocator<double> > const&, std::vector<double, std::allocator<double> > const&, double, int)'
也许我需要设置LOCAL_C_INCLUDES
,但我还没有找到任何有关如何使用新构建工具和CMake执行此操作的信息
顺便说一下,Android Studio并没有强调任何一行是有问题的。
如果有任何帮助或建议,我将不胜感激。