让G ++自动使用我的库

时间:2015-04-11 19:21:22

标签: c++ ubuntu terminal include shared-libraries

我已经构建了一个由这些文件组成的库:

  • 一堆标题。
  • .so文件(libmylib.so)。

我想编译一个c ++程序(sample.cpp),其中包含了标题,以及我需要使用该库的位置。这就是我所做的,而且它正在发挥作用:

  • 将标题放在usr / local / include。
  • 将.so文件放在usr / local / lib。
  • 以这种方式编译程序:g ++ sample.cpp -lmylib。

我的问题是:如果我从最后一行省略-lmylib,为什么它不起作用? 有没有办法安装库,这样我不需要每次都在g ++命令中添加它?

谢谢。

1 个答案:

答案 0 :(得分:1)

默认情况下使用哪些库取决于编译器/链接器中的某些设置,
但它不是“usr / local / lib中的每个lib”或任何目录,只是一些特定的名称 (甚至只是一个)。请致电g++ -vg++ -dumpspecs将其列出(以及更多内容)

因此,要么使用自己的lib列表重建编译器,要么每次都手动指定它。