ste*_*no1 4 c++ makefile c++11
问题:
在运行Ubuntu 12.04的计算机上安装了2个版本的g ++.它们是版本4.6和5.2.
我必须使用Makefile编译C++ 11程序.如果我使用g ++作为编译器,它会自动调用版本4.6,它不支持c ++ 11,因此编译失败.我已经在线阅读了一个教程,所以现在如果我调用g ++,它会自动调用5.2版本,现在它可以工作了.
我发现这个解决方案不太好,因为它只适用于我的电脑.有没有办法在Makefile中识别默认的g ++版本是否支持C++ 11,如果没有,则切换到更新的版本?
谢谢!
有没有办法在Makefile中识别默认的g ++版本是否支持C++ 11,如果没有,则切换到更新的版本?
您当然可以检测PATHmakefile中可用的默认编译器的版本.但是,您在哪里搜索其他版本?
标准方法是让用户CC通过CXXmake变量指定C编译器和C++编译器,例如: make CC=/path/to/my/gcc CXX=/path/to/my/g++.