当我尝试构建代码时:
make -C ./source/SomeUtil mode=release
失败并出现错误:
致命错误:模板实例化深度超过最大值35(使用 -ftemplate-depth =增加最大值)
似乎某种程度上我需要强制MAKE将该参数传递给编译器: 的 -ftemplate深入= 50
我尝试设置变量 CFLAGS 和 CXXFLAGS ,但它根本没有帮助(仍然会在ftemplate-depth = 35时出错)。< / p>
export CFLAGS="-ftemplate-depth=50"
export CXXFLAGS="$CFLAGS"
此外我尝试在MAKE之后传递CFLAGS和CXXFLAGS,但没有再次成功。
如何强制MAKE将-ftemplate-depth = 50参数传递给编译器?感谢。
答案 0 :(得分:0)
你不能强迫make做Makefile没有设置接受的任何事情。
设置CXXFLAGS是正确的想法,但不是CFLAGS。 C编译器不知道如何处理&#34; -ftemplate-depth = 50&#34;。因此,只需设置CXXFLAGS并编辑我们的makefile以符合环境中设置的CXXFLAGS(或者更好地扩展Makefile中的CXXFLAGS,这样您就不必通过make进行passit)并确保它将CXXFLAGS传递给编译器。