用于构建在C++(Linux)中开发的动态库的TemplateMakefile

Template-Makefile for building dynamic libraries developed in C++ (Linux)

本文关键字:开发 动态 TemplateMakefile 构建 C++ Linux 用于      更新时间:2023-10-16

我正在寻找一个好的Makefile模板,用于在Linux上创建动态可加载库。动态库是用C++开发的。我只想在Makefile中指定库名称及其源文件(.cc)。此外,我希望能够为构建过程指定一个目录(例如./build)。在构建之后,动态库应该在另一个目录(例如./libs)中,该目录也被指定为Makefile中的变量。

有什么提示吗?

提前感谢&顺致敬意,乔纳斯

我的小型和测试项目的scons模板(src-dir中的源和包含,build-dir中的对象文件,libs-dir中的结果库):

env = Evironment()
env.Append(CPPPATH = ['#src']) # customize your additional included path
#env.Append(LIBPATH = ['/my/path']) # customize your additional lib path
#env.Append(LIBS = ['foo', 'bar']) # customize your additional libs to link
sources = Glob('src/*.cpp') # Get sources by mask from src dir
VariantDir('build', 'src')
env.SharedLibrary('#libs/mylib', sources)