如何提升链接库?

时间:2014-07-30 09:49:25

标签: c++ boost static-linking dynamic-linking

据我所知,我必须链接其他库或不使用boost,这取决于某些模块需要它们,或者它们只是独立的模板/宏。

例如使用boost / thread.hpp我必须链接boost_thread和boost_system。

  1. 因此,如果我动态链接它们,我需要在目标平台上进行提升,或者只是将它们添加到最终应用程序(相同或不相同的目录)?
  2. 2.如果我不想要任何依赖关系,我可以静态链接它们,但是应用程序的大小会增加整个库的大小,还是仅仅是我使用过的部分?

1 个答案:

答案 0 :(得分:1)

Q1。是还是不是。如果您在Windows中,共享库(.dll)可以位于系统目录或本地目录(程序所在的目录)中。如果你在linux中,共享库(.so)必须在LD_LIBRARY_PATH

Q2。不,程序的大小不会随着整个库的大小而增长。如果你的链接器没有疯狂,他将选择库的必要对象并仅针对它们链接程序。