【发布时间】:2012-09-18 18:55:40
【问题描述】:
我有以下关于在 Linux 上链接的问题:
假设我有一个使用 Qt 的类 Foo。要构建这个类,我必须使用 qmake 来生成 Makefile。
稍后我想将这个类 Foo 用于 Perl 模块,它是一个共享库。但是,要构建它,我必须使用 Perl 的 MakeMaker 来生成它自己的 Makefile。
我现在的做法是将 Foo 类构建为静态库,在构建 Perl 模块的共享库时,我将它与 Foo 的静态库链接。
问题在于,在构建 Perl 模块的共享库时,我必须将其链接到 Foo 的静态库所链接的所有 Qt 库。
所以问题是:
这种方法有意义吗?!
是否可以在构建 Perl 模块的共享库时不必指定所有依赖项的方式构建 Foo 的静态库? (因为将所有这些依赖项添加到模块的 Makefile 中有些困难)
如果 Foo 的库是共享的,而不是静态的,会有什么不同吗?
【问题讨论】:
标签: c++ perl linker makefile xs