好吧,我假设-D
前缀表示#define
无论它后面跟着什么变量名,但是我找不到任何有关编译器标志的 makefile 功能的文档。
CXX=clang -DTHISISPREPROCESSORVARIABLE
So -DTHISISPREPROCESSORVARIABLE
在 make 过程中将定义预处理器变量THISISPREPROCESSORVARIABLE
并将执行以下操作cout
编译。
#ifdef THISISPREPROCESSORVARIABLE
std::cout << "this should exist with the -D" << endl;
#endif
这是正确的假设吗?这似乎有效,有人可以证实这一点-D
指的是#define
(有人有一些可以填写所有这些命令定义的 makefile 文档的链接吗?)
GCC,
MSVC, and
Intel,所有这些都记录了此标志,并且 Clang 默认情况下仅使用 GCC 标志。我刚刚发现它Clang 的帮助页面 waaaay 在底部(对于 windows 的 clang-cl),以及harmic发现更清楚了here对于Linux。
Execute clang-cl /?
查看支持的选项列表:
/D <macro[=value]>
定义宏
harmic观察到这些是compiler标志,与 makefile 完全无关,这就是为什么你在 makefile 文档中找不到它。这些标志可以放入 makefile 中,该文件会将它们传递给编译器,但不是 makefile 的一部分。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)