当指定linkerOpts时,我们需要为-L选项设置绝对路径,但很容易中断。
在旧版本中,将linkerOpts设置为build.gradle可能有效,但在1.3.50中,它警告说cinterop不支持“- linker -选项/-linkerOpts/-lopt选项”。请将链接器选项添加到.def文件或二进制编译中。“生成do失败”时出现“未定义符号”错误。
我能做什么?
发布于 2019-11-19 11:26:24
该选项将被取消一次,因此在1.3.50发布后有意添加了警告。这里的动机是,人们应该更喜欢通过.def文件设置所有链接器选项,甚至是.def。
但是,在这种情况下,构建不应该分开。您可以添加脚本内容,以使其更清楚-究竟是什么导致了错误?
UPD:在GH项目在评论中被分享之后,我想在这里添加一些细节。这个问题在文档这里中有描述,这个部分:
通常需要为使用本机库的二进制文件指定特定于目标的链接器选项。它可以使用二进制的linkerOpts属性来完成。
因此,在这种情况下,将选项添加到binaries部分而不是cinterops部分是正确的。最后,我和
binaries {
all {
linkerOpts = ['-L'+rootProject.projectDir+'/libs/NativeBase64/iOS/', '-lNativeBase64']
}
}https://stackoverflow.com/questions/58919144
复制相似问题