我有一个当前在 Visual Studio 中设置的 C++ 代码库(在 Windows 上运行),其中包含多个相互依赖的项目。我试图把它带到 Android Studio,让它在 Android 上运行。我熟悉 Visual Studio 和 C++,但对 Android Studio 的 Gradle 和 CMake 很陌生。
我(可能是错误的)期望是尝试处理像 Visual Studio 解决方案这样的 Android Studio 项目和像 Visual Studio 项目这样的 Android Studio 模块。鉴于我的代码库在 Visual Studio 中使用多个项目,我试图在 Android Studio 中创建多个模块——每个模块都有自己的build.gradle
和CMakeLists.txt
文件。
问题是我无法让一段代码(AS 模块)与另一段链接。我正在编译这些不同的部分作为STATIC
使用add_library()
(我计划有一个模块来创建一个SHARED
库,加载到Java)。
我可以轻松地通过include_directories("../OtherModule/src/")
. 但是,我无法将其链接。我找不到要链接到的 .so(或类似)文件(通过target_link_libraries()
或等效)。当我从给定的模块中提取 .arr 文件时,我看不到任何 .so 或任何内容。
我意识到我可以简单地将整个代码库放在一个模块下(使用一个build.gradle
和一个CMakeLists.txt
-- 或者CMakeLists.txt
使用 's 的网络add_subdirectory()
)。我不知道这是否可以,或者是否需要更多/更少的时间来构建。
我确信可以有多种方法来设置它,这可能只是一个偏好问题。到目前为止,我所做的所有研究都只发现将本机代码严格添加到带有 Java 代码的同一模块中——做基本的 …