0

我在这个项目中有 2 个模块:app主要libdatacpp libdatacpp是一个 C++ 项目,但使用了一些 Java 代码 app主要是一个 Java 项目,但使用了一些 C++ 代码

项目结构

构建项目时,我从 中收到未定义函数的 c++ 链接器错误libdatacpp,因为app项目没有链接libDataCpp.o

在我的 cmake for 中app,我是这样链接的libDataCpp

target_link_libraries(
        native-lib
        DataCpp)

我还链接到app模块中的另一个项目,build.gradle如下所示:

dependencies {
    api project(':libdatacpp')

如何让app模块自动链接到我的libdatacpp模块?

4

1 回答 1

0

如果您打算libdatacpp通过 .aar 为其他 AndroidStudio 项目提供原生库,则需要使用预制功能。

但是如果这些本机库是您自己项目的一部分,那么我认为没有必要将其放在 .aar 中,只需将其内容(源和 CMakeLists.txt)放在子文件夹中,然后使用 in 将其添加到构建add_subdirectory (datacpp)中你的主要 CMake。

于 2020-10-26T10:09:42.067 回答