【问题标题】:Maintaining multiple builds for different compiler versions为不同的编译器版本维护多个构建
【发布时间】:2015-11-26 12:39:40
【问题描述】:

我正在开发一个 C++ 库,并使用 Makefile 来编译和创建构建。我希望为不同的 gcc 编译器版本维护多个构建。最好的方法是什么?

【问题讨论】:

  • 除了编译器版本之外,您希望构建之间有哪些不同?
  • @Beta 没有其他区别

标签: c++ gcc makefile


【解决方案1】:

如果您准备好使用 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 ..

【讨论】:

  • 或者使用 CMake 做得更好 - 轻松维护针对多个目标的多个编译器。
  • @RichardHodges 自动工具是make 的前端。 cmakemake 的替代品。正如 OP 询问 make 我认为我的回答是相关的。
  • 我完全同意您的回答是相关的。 CMake 也有 Makefiles 的生成器。总的来说,我发现它比 autotools 更简单、更灵活。
  • @RichardHodges 我该如何使用 cmake?
  • @RichardHodges 我的目标是同时为几个编译器版本维护多个 .so 文件,并将所有 .so 文件签入存储库。 cmake/autotools 会达到目的吗?
猜你喜欢
  • 2015-06-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-01
  • 1970-01-01
  • 2021-12-19
  • 1970-01-01
  • 2011-04-16
  • 1970-01-01
相关资源
最近更新 更多