编译文件告诉生成文件如何编译
Compiled file tells makefile how to compile
我问的可能听起来不合逻辑,但对我来说非常重要。
让我们假设我们有这样的文件和文件夹
project_rat/
project_cat/
project_rabbit/
Makefile
用户可以在此处添加任何项目文件夹。Makefile
具有以下配置变量:
model_name:= project_rat
用户可以将此model_name
变量更改为任何文件夹。
生成文件编译相应的项目文件夹。
g++ -std=c++11 $(model_name)/main.cpp
现在我的问题是我想在Makefile
中添加一个调试/发布变量,并在此基础上打开适当的优化器。我希望从我的项目中确定此变量。它必须取决于每个单独的项目。一个项目可能需要-O2
,另一个项目-O3
。
我可以从任何C++代码中影响Makefile
吗?
假设你使用的是GNU make(考虑到你使用gcc,这是一个安全的选择),把它添加到你的Makefile
include $(model_name)/Makefile.opts
现在,在每个项目目录中创建一个文件Makefile.opts
,用于设置该项目的生成文件选项。
这就像 C/C++ #include
预处理器指令一样工作。
如果不希望要求每个项目目录中都有Makefile.opts
,请使用 sinclude
而不是 include
。
相关文章:
- 使用 MEX 编译C++文件
- 获取 clang++:错误:在编译文件系统库的代码时
- 如何交叉编译C++文件
- 使用 MinGW 在 Windows 上的命令行编译C++文件
- 选择特定版本的 Visual Studio 命令行工具包,并根据特定版本的C++运行时环境编译文件
- 解析模板和范围后获取编译文件?
- 我的 PowerShell 脚本无法按预期工作(用于编译C++文件)
- 如何在不制作Visual Studio 2017项目的情况下编译C++文件?
- 'void *' 'void (*) (bool)' 指针使用 c ++ 编译器在 C 中编译文件的错误
- 在没有节点GYP的目标平台上编译C/C 文件
- 生成文件似乎以错误的顺序编译文件
- 编译 C++ 文件失败,因为找不到"ssize_t"的定义
- NeatBeans Makefile:麻烦编译.H文件
- 我无法编译文件系统库
- 在不使用预编译头C++项目中编译 C 文件
- 无法使用 Xcode 和终端在 Mac OS 上使用 OpenGL 库编译 c++ 文件
- 获取编译文件的列表,并由Make Project包含
- MinGW .h 编译文件不起作用:此文件的版本与您运行的 Windows 版本不兼容
- 编译 c++ 文件时出错:未定义的符号
- C++编译文件