【发布时间】:2015-11-26 12:39:40
【问题描述】:
我正在开发一个 C++ 库,并使用 Makefile 来编译和创建构建。我希望为不同的 gcc 编译器版本维护多个构建。最好的方法是什么?
【问题讨论】:
-
除了编译器版本之外,您希望构建之间有哪些不同?
-
@Beta 没有其他区别
我正在开发一个 C++ 库,并使用 Makefile 来编译和创建构建。我希望为不同的 gcc 编译器版本维护多个构建。最好的方法是什么?
【问题讨论】:
如果您准备好使用 autotools,autoconf/automake 可以让您通过 out of tree builds 完成此操作。如果您将每个构建分开到自己的目录(而不是源目录)中,您可以配置任意数量的构建。
配置编译器和编译器选项通常是简单的 bash 命令行问题。
mkdir mingw-build
cd mingw-build
CXX=mingw32-g++ ../myproject/configure ...
cd ..
mkdir native-build
cd native-build
CXX=g++ ../myproject/configure ...
cd ..
【讨论】:
make 的前端。 cmake 是 make 的替代品。正如 OP 询问 make 我认为我的回答是相关的。
Makefiles 的生成器。总的来说,我发现它比 autotools 更简单、更灵活。