答案 0 :(得分:1)
GNU make隐式规则使用变量$(CXX)
,显式规则通常遵循这种模式。 default value is g++
,但可以在makefile或make
命令行中覆盖。
显然,系统上的默认g++
为4.2。除了上面提到的两种覆盖方法之外,您还可以在启动脚本中将CXX=g++-4.8
导出到您的环境中,以保存每个案例的麻烦。 Cmake显然使用相同的变量,所以这样做也适用于此。
答案 1 :(得分:0)
好吧,吹走你可能拥有的任何CMakeCache.txt(cmake不喜欢改变编译器),然后做这样的事情:
set CC=<location of gcc-4.8>
set CXX=<location of g++4.8>
然后再次运行cmake ..它应该选择那些编译器,然后MAke将使用CMake告诉它的任何东西。