gpt4 book ai didi

kotlin - Kotlin Cinterops native 库名称

转载 作者:行者123 更新时间:2023-12-02 13:29:51 26 4
gpt4 key购买 nike

我正在使用cinterops在mingw二进制可执行文件中链接动态库。一切运行正常,除了可执行文件要求的.dll名称与.def文件中声明的名称不同。
我不知道这个不同的名字是从哪里来的!
这是从我的gradle.build.kts中获得的:

mingwX86("mingw"){
compilations["main"].cinterops{
val scape2 by creating {
val cafmSrc = "C:/Software/SCAP E2/CAFM_src"
val scapSrc = "C:/Software/SCAP E2/TO/ETME2"
val modifiedSrc = "C:/Software/SCAP E2/Modified CAFM files"
includeDirs.headerFilterOnly(cafmSrc, scapSrc, modifiedSrc)
extraOpts.add("-verbose")
}
}
binaries {
executable()
}
}

这是我的scape2.def文件:
headers = scape2.h
headerFilter = scape2.h \ GEO_API_SCAPTO.h
linkerOpts.mingw = -LC:/Users/lscarmin/git/calculation-module4 -lscape2

我期望该dll名称为scape2.dll。
但是,当我运行可执行文件时,它会询问ETME2.dll!
如果我将scape2.dll重命名为ETME2.dll,该代码将起作用。 (editado)

最佳答案

好吧,似乎使用的文件名是dll中定义的文件名。我已重命名了dll文件,但使用的名称将是原始名称。
我不知道此信息保存在dll中

关于kotlin - Kotlin Cinterops native 库名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62065819/

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