我对 Linux 上的链接有以下疑问:
假设我有一个使用 Qt 的类 Foo。要构建这个类,我必须使用 qmake 来生成 Makefile。
稍后我想将这个类 Foo 用于 Perl 模块,它是一个共享库。但是,要构建它,我必须使用 Perl 的 MakeMaker 来生成它自己的 Makefile。
我现在这样做的方式是将类 Foo 构建为静态库,并且在构建 Perl 模块的共享库时,我将它与 Foo 的静态库链接。
问题是在构建 Perl 模块的共享库时,我必须将它与 Foo 的静态库所链接的所有 Qt 库链接。
所以问题是:
这种方法还有意义吗?!
是否可以在构建 Perl 模块的共享库时以不必指定所有依赖项的方式构建 Foo 的静态库?(因为将所有这些依赖项添加到模块的 Makefile 有点困难)
如果 Foo 的库是共享的,而不是静态的,会有什么不同吗?