gpt4 book ai didi

android-studio - Android Studio 2.3 CMake 不显示错误并且不会编译 C++ 代码

转载 作者:行者123 更新时间:2023-12-04 06:22:55 29 4
gpt4 key购买 nike

所以我正在尝试编写我的第一个 native 库以在 Android 和 iOS 中重用我的 C++ 代码,但无法让它在 Android Studio 2.3 下运行

我关注了instructions致信(我希望),其中主要包括:

编写一个 CMakeLists.txt 文件,其中包含(在我的情况下):

cmake_minimum_required(VERSION 3.4.1)

add_library(
test-lib
STATIC
src/main/cpp/test.cpp
src/main/cpp/cpp_wrapper.cpp)

include_directories(src/main/cpp/include/)
find_library(
log-lib
log )

target_link_libraries(test-lib ${log-lib} )

add_library( app-glue
STATIC
${ANDROID_NDK}/sources/android/native_app_glue/android_native_app_glue.c )

target_link_libraries( test-lib app-glue ${log-lib} )

然后将 CMake 文件链接到模块 build.gradle 文件中的 gradle
apply plugin: 'com.android.application'

android {


compileSdkVersion 25
buildToolsVersion '25.0.2'
defaultConfig {
applicationId 'com.mysample.id'
minSdkVersion 19
targetSdkVersion 25
versionCode 9
versionName "1.3.0"
}
buildTypes {
release { ... }
}

productFlavors {
}
externalNativeBuild {
cmake {
path "CMakeLists.txt"
}
}
}

repositories {
maven { ... }
}
dependencies { ... }

这应该足够了。可悲的是它不是。
我只是无法弄清楚我在这里缺少什么。
一次(实际上只有一次)我实际上从 CMake 收到了一条错误消息,因为在 cpp 文件中故意放置了一个错字,但这是我从中看到的唯一内容。没有创建库 *.so 文件,当然也没有与 apk 打包,因此应用程序在尝试加载它时立即崩溃。

更新:我找错地方了,实际上在 app/.externalNativeBuild/cmake 中有一些来自 CMake 的文件,它们反射(reflect)了构建配置和 cpu 架构,它们甚至包括 test-lib.dir目录,但这是空的。我浏览了这些文件,看看是否有一些线索,但找不到任何有趣的东西。

欢迎任何建议!

最佳答案

最后,我创建了一个新项目,(再次)执行所有指令,将我已经存在的工作复制到新项目,瞧。

我们可能永远不会知道原因是什么......

关于android-studio - Android Studio 2.3 CMake 不显示错误并且不会编译 C++ 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42860519/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com