我正在构建一个API来创建C,Puthon和JVM之间的桥梁,使用swig和gradle作为构建系统。问题是如果我想将swig生成的源代码链接到python头,我需要将这些头包含在构建中,我找不到明确的方法。遗憾的是,gradle目前缺少原生版本的文档。
我从不同的来源编写了以下模型定义:
model {
repositories {
libs(PrebuiltLibraries) {
pythonHeaders {
headers.srcDirs "$pythonPath/include"
}
jdkHeaders{...}
}
}
components {
transport(NativeLibrarySpec) {
sources {
lib library: 'pythonHeaders'
c {
source {...}
exportedHeaders {...}
}
}
}
}
toolChains {...}
}
此定义适用于静态库,但不适用于共享库,因为python36.lib
不在链接器路径上。
PreabuiltLibrary
接口有一个名为binaries
的字段,但我看不到使用DSL添加它的方法。有没有任何标准的方法来修复它或解决方法?
答案 0 :(得分:0)
Alexander Volanis here提供的答案似乎正在起作用。在Anaconda中,静态库放在libs
目录中,而dll-s放在Anaconda根目录中。