【发布时间】:2016-09-09 17:13:38
【问题描述】:
假设我有这个:
int main() { return a; }
我想调用编译器并让它编译:
g++ a.cpp --PREPEND-CODE-FLAG="int a = 5;"
有没有办法做到这一点?
请注意,我知道我可以通过命令行为 a 插入预处理器定义,但我正在寻找一种将真正的 C++ 代码添加到当前翻译单元的方法。
目前,我正在使用该代码生成一个单独的标头,并将其与 g++/clang 的 -I 标志一起包含
【问题讨论】:
-
没有“当前翻译单元”,因为您可以将多个文件传递给编译器的调用
-
这个的用例是什么?
-
@Ben 相信我 - 有一个。我正在尝试通过构建系统解决my library 的this 问题(请注意,它不仅适用于Visual Studio - 它会影响所有平台和编译器)。我想要一种非侵入式的方式将静态库的每个目标文件强制链接到最终的 dll/可执行文件中 - 我希望它在 cmake 中编码。
-
在cmake中,使用
configure_file命令...
标签: c++ visual-c++ g++ clang