如何添加现有的lib需要构建到我自己的项目中

时间:2017-09-15 03:28:42

标签: c++ makefile

我目前正在使用C ++开发一个项目。我使用autotools,我是BTW的新手,来制作建筑系统。必须在我的项目中使用带有makefile的现有库。因为它是一个很少使用的库,为了便于携带,我需要复制my project目录中的所有源代码,并在构建代码之前让makefile使用自己的makefile构建库。我该怎么办?我不知道如何在Makefile.am或类似的地方添加代码。任何有用的答案都表示赞赏。

1 个答案:

答案 0 :(得分:1)

两部分:

  1. 按照库的README或说明建议构建库。您可能必须选择产生可接受的可共享库的选项。

  2. 在项目中,将输出可共享库添加为库以包含。您可能还需要在某处添加声明文件(.h)。

  3. 在(IMHO)极少数情况下将库直接包含到您的项目中可能是有利的。但是,抵制这种冲动:它通常会导致符号出现问题(命名空间污染和namimg冲突),并且会混淆关于接口应该如何工作的假设。它还使源代码控制更加困难。

    通过建议的项目分离(您的v。库),如果库已更改,通常需要一定程度的智能来有条件地重建项目。这可以通过封装makefile来完成,首先调用make the_library然后调用make myproject。或者你可以手动调用合适的makefile,因为库一旦它工作得很满意就会更方便 - 可能不需要任何工作。

相关问题