首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kotlin/Native cinterop:.def文件中的compilerOpts与gradle中的compilerOpts

Kotlin/Native cinterop:.def文件中的compilerOpts与gradle中的compilerOpts
EN

Stack Overflow用户
提问于 2020-01-08 17:57:33
回答 1查看 489关注 0票数 0

Kotlin/Nativecinterop文档中,您必须定义一个.def文件,如下所示:

代码语言:javascript
复制
language = Objective-C
modules = FirebaseCore
compilerOpts = -framework FirebaseCore
linkerOpts = -framework FirebaseCore

现在,您还可以在cinterop块中指定一个compilerOpts,例如:

代码语言:javascript
复制
compilations["main"].cinterops {
    firebasecore {
        packageName 'cocoapods.FirebaseCore'
        defFile = file("$projectDir/src/iosMain/c_interop/FirebaseCore.def")
        includeDirs ("$projectDir/../iosApp/Pods/FirebaseCore/Firebase/Core/Public")
        compilerOpts ("-F$projectDir/src/iosMain/c_interop/modules/FirebaseCore-${versions.firebaseCoreIos}")
    }
}

我在这里只举了Kevin Galligan的例子:KMPFirestore

我真的搞不懂gradle中的compilerOpts.def文件中的compilerOpts有什么不同?

我没有很强的C语言背景,我只是想学习Kotlin Multiplatform (现在只是想了解如何与c或objectiveC库进行互操作),但是我不能正确地设置它们。

我真的很感激一些帮助,因为我甚至不完全了解.def文件是如何工作的。

任何与理解这些东西相关的阅读材料都会有很大的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-10 00:31:12

在生成互操作时,两个compilerOpts将被合并。遗憾的是,linkerOpts不能以这种方式工作。但是为了使互操作正确工作和链接,我还必须在.def文件中为linkerOpts指定框架的绝对路径。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59643362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档