问题描述
我在这个项目中有2个模块:app
和libdatacpp
libdatacpp
主要是一个C ++项目,但使用了一些Java代码
app
主要是一个Java项目,但使用了一些c ++代码
在构建项目时,由于libdatacpp
项目未链接app
libDataCpp.o
收到了未定义函数的c ++链接器错误。
在app
的cmake中,我这样链接到libDataCpp
:
target_link_libraries(
native-lib
DataCpp)
我还像这样链接到app
模块的build.gradle
中的另一个项目:
dependencies {
api project(':libdatacpp')
如何获取app
模块以自动链接到我的libdatacpp
模块?
解决方法
如果您打算通过.aar为其他AndroidStudio项目提供libdatacpp
本机库,则需要使用prefab功能。
但是,如果这些本机库是您自己的项目的一部分,那么我认为不需要将其放在.aar中,只需将其内容(源和CMakeLists.txt)放在一个子文件夹中,然后将其添加到构建中即可通过在主CMake中使用add_subdirectory (datacpp)
。