我们有一个设置,我们创建一个C库的python接口。出于多种原因,我们天真地暴露了每一个功能,虽然这不是最佳的,但它暂时是最不好的解决方案。
我们的swig接口文件只需导入二十几个C头文件,我们将其打开,然后编译,然后链接结果。
问题是,生成的C文件的编译速度非常慢,而且是构建过程中最慢的步骤。我们有高度并行的机器,所以分开它会很好。
问题是,在制作多个接口文件时,将它们编译为目标文件效果很好,但在最终链接期间,链接器(正确地)抱怨:
foo1.c:9147: multiple definition of `PyInit__bar_lib'
foo2.c:74285: first defined here
有没有办法分开swig'ging?