假设我在主 cpp 文件中有一组指令,允许实例化我的二进制文件,这些二进制文件使用 typedef 和预处理器指令实现具有给定类型的模板算法,以便在编译前选择类型:
#ifdef MS1
typedef MSVariableInterface1 InterfacorType;
#else
#ifdef MS2
typedef MSVariableInterface2 InterfacorType;
#endif
#endif
int main()
{... //use InterfacorType as the type for template
我希望我的 cmakelists 使用不同的模板实例自动编译代码,知道预处理器变量的不同可能值。你知道我该怎么做吗?
此外,我猜这不是解决问题的正确方法,您是否有另一个建议来“展开”(可选多)模板代码的不同实例,给定可以采用每个模板的类型集。这样的解决方案将允许我创建一个二进制文件来处理所有情况(带有允许选择感兴趣的实例的参数),而不是为每个实例创建一个二进制文件。谢谢!