我在 Linux 上有一个基于 makefile 的基本项目。它还在 Windows 上的 Visual Studio 中构建。
我想修改我的 Linux makefile 以创建具有不同二进制文件的多个构建,调试和发布开始,但可能会添加其他。
如何设置 Makefile 项目以不同的方式将源代码构建到不同的路径?
例如,调试构建类似于:
g++ -ggdb -Wall -DDEBUG
.o files in ./Debug/obj
.so and binary files in ./Debug/bin
发布输出将是:
g++ -Os -Wall
.o files in ./Release/obj
.so and binary files in ./Release/bin
make debug 或 make release 会生成它们,或者 make all 会做所有事情。
我如何在 Makefile 中创建多个构建类型,但我真正不清楚的部分是设置输出目录和设置哪个 .o 文件目录来检查源文件是否已构建。
欢迎提供指向相关示例和文档的指针。
最佳答案
花点时间阅读,前往Paul Smith's homepage , GNU Make 的维护者,阅读这两篇文章:
然后您可能会明白,在当前目录以外的目录中构建不是一个好主意,因为这意味着违背 Make 的原则。
这些文章还将指导您如何组织构建,它可能恰好适合您的特定情况。
关于c++ - 如何设置 Makefile 以使用 Visual-Studio 风格的输出目录进行构建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9675424/