Commit 811b28a4 authored by jiangyh's avatar jiangyh

win支持ohosArm64

parent aab96f8a
......@@ -185,9 +185,10 @@ val buildSampleStaticLib by tasks.registering {
objFileFile.delete()
}
println("Compiling ${srcFile.name}...")
// Windows 上若用的是 host 的 clang(x64),必须显式指定 -target 为 aarch64,否则 .S 会被当 x86 汇编
val targetArg = if (clangExecutable.name.startsWith("aarch64-")) listOf<String>() else listOf("-target", "aarch64-unknown-linux-gnu")
execOps.exec {
// 使用 OHOS SDK clang 编译,它会自动处理 target 和 sysroot
commandLine(clangExecutable.absolutePath, "-c", "-fPIC", "-O2", "-I", includeDir, srcFile.absolutePath, "-o", objFile)
commandLine(clangExecutable.absolutePath, "-c", "-fPIC", "-O2", *targetArg.toTypedArray(), "-I", includeDir, srcFile.absolutePath, "-o", objFile)
}
objectFiles.add(objFile)
}
......@@ -220,6 +221,9 @@ arrayOf("debug", "release").forEach { type ->
from("native-libs/ohosArm64/libsample.a") {
into("entry/src/main/cpp/libs/")
}
from("native-libs/ohosArm64/libsample.a") {
into("entry/src/main/cpp/libs/arm64-v8a/")
}
doFirst {
if (!binaryDir.exists()) {
throw GradleException("未找到产物目录: ${binaryDir.absolutePath}")
......
......@@ -10,6 +10,7 @@
"path": "./src/main/cpp/CMakeLists.txt",
"arguments": "-DOHOS_ENABLE_ASAN=ON",
"cppFlags": "",
"abiFilters": [ "arm64-v8a" ]
}
},
"buildOptionSet": [
......
rootProject.name = "kmptcp_kotlin_sample"
rootProject.name = "kotlin_sample"
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
pluginManagement {
repositories {
// maven {
// url = uri("/Users/jiangyuhuan/AndroidStudioProjects/kmptpc_kotlin/build/repo")
// }
// mavenLocal() // 备用:脚本中也执行了
// maven {
// url = uri("/Users/jiangyuhuan/AndroidStudioProjects/kmptpc_kotlin/build/repo")
// }
maven {
url = java.io.File("D:/repo").toURI()
}
mavenLocal() // 备用:脚本中也执行了
google()
mavenCentral()
maven("https://maven.eazytec-cloud.com/nexus/repository/maven-public/")
// 引入 Gradle 插件门户(主要用于查找 Gradle 插件)
gradlePluginPortal()
......@@ -17,12 +20,15 @@ pluginManagement {
dependencyResolutionManagement {
repositories {
// maven {
// url = uri("/Users/jiangyuhuan/AndroidStudioProjects/kmptpc_kotlin/build/repo")
// }
// mavenLocal()
// maven {
// url = uri("/Users/jiangyuhuan/AndroidStudioProjects/kmptpc_kotlin/build/repo")
// }
maven {
url = java.io.File("D:/repo").toURI()
}
mavenLocal()
google()
mavenCentral()
maven("https://maven.eazytec-cloud.com/nexus/repository/maven-public/")
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment