我有一个C ++项目,其源文件分布在多个树上。目前每个都内置在静态库中,最后main()函数通过静态链接编译并链接到所有这些库。
现在我使用SWIG将TCL绑定添加到项目中。我可以找到的例子都很简单,只有一个C ++源代码。
我的理解是,我需要将每个库重新编译为共享库,将SWIFT绑定代码编译为共享库并将所有这些库链接到一个库中。在TCL中,我加载了最后一个。
例如,这是我的源代码树:
dir1: s1.c
dir2: s2.c
dir3: swig_binding.c
我对上述源代码树的行动计划是:
更新Makefile,以便
dir1: libs1.so
dir2: libs2.so
dir3: libswig_binding.so
将3 .so文件链接到一个libswig_binding.so
在TCL内,load libswig_binding.so
你看我有没有错过吗?