如何将需要构建的现有库添加到我自己的项目中 我目前正在C++中工作。我使用自动工具,顺便说一句,我是新来的,来制作建筑系统。在我的项目中必须使用具有makefile的现有库。因为它是一个很少使用的库,为了便于移植,我需要在我的项目目录中复制整个源代码,并要求makefile在构建代码之前使用自己的makefile构建库。我该怎么办?我不知道如何在Makefile.am或类似的地方添加代码。任何有用的答案都将不胜感激。
两部分:如何将需要构建的现有库添加到我自己的项目中 我目前正在C++中工作。我使用自动工具,顺便说一句,我是新来的,来制作建筑系统。在我的项目中必须使用具有makefile的现有库。因为它是一个很少使用的库,为了便于移植,我需要在我的项目目录中复制整个源代码,并要求makefile在构建代码之前使用自己的makefile构建库。我该怎么办?我不知道如何在Makefile.am或类似的地方添加代码。任何有用的答案都将不胜感激。,c++,makefile,C++,Makefile,两部分: 按照库的自述或说明建议构建库。您可能需要选择一些选项来生成可接受的共享库风格 在项目中,将输出共享库添加为要包含的库。您可能还需要在其中添加一个声明文件(.h) 在(IMHO)罕见的情况下,将库直接包含到您的项目中可能是有利的。但是,要抵制这种冲动:它通常会给符号带来麻烦(名称空间污染和namimg冲突),并打乱关于接口应该如何工作的假设。这也使得源代码控制更加困难 使用建议的项目分离(您的项目与库项目),如果库发生更改,通常需要一定程度的智能来有条件地重建项目。这可以通过一个封装的m
使用建议的项目分离(您的项目与库项目),如果库发生更改,通常需要一定程度的智能来有条件地重建项目。这可以通过一个封装的makefile来完成,该makefile首先调用
make_库
,然后调用makemyproject
。或者,您可以手动调用适当的makefile,这将更加方便,因为库一旦正常工作,可能不需要任何工作。是否有可能使用shell脚本?你能详细说明一下你的目标构建环境吗(Windows[MinGW/Cygwin]/GNULinux或MacOS)?据推测,它可以在Linux和MacOS上运行。我现在正在MacOS上编写代码。在我的例子中,它们实际上是相同的,因为我几乎只使用GNU工具链并使用macports管理包@Ameyavs你能用编辑按钮更新问题并提供必要的细节吗?看到这个我觉得你的建议很好。简单干净。我会照办的@沃利克