C++ cmake/make使用g++;4.2在mac os x 10.6 snow leopard下

C++ cmake/make使用g++;4.2在mac os x 10.6 snow leopard下,c++,makefile,g++,cmake,C++,Makefile,G++,Cmake,嘿,我必须使用cmake和make为我的计算机科学课程构建一个框架()。我使用的是os x 10.6.8,在macports上安装了g++4.8和cmake,但我不知道如何将g++4.8设置为cmake和make的默认编译器。有人能帮忙吗?好吧,吹掉你可能有的任何CMakeCache.txt文件(cmake不喜欢更改编译器),然后执行以下操作: set CC=<location of gcc-4.8> set CXX=<location of g++4.8> set C

嘿,我必须使用cmake和make为我的计算机科学课程构建一个框架()。我使用的是os x 10.6.8,在macports上安装了g++4.8和cmake,但我不知道如何将g++4.8设置为cmake和make的默认编译器。有人能帮忙吗?

好吧,吹掉你可能有的任何CMakeCache.txt文件(cmake不喜欢更改编译器),然后执行以下操作:

set CC=<location of gcc-4.8>
set CXX=<location of g++4.8>
set CC=
设置CXX=

然后再次运行cmake。。它应该选择那些编译器,然后MAke也会使用CMake告诉它的任何东西。

GNU MAke隐式规则使用变量
$(CXX)
,显式规则通常遵循这种模式。,但这可以在makefile中或在
make
命令行中重写


显然,系统上默认的
g++
是4.2。除了上面提到的两种覆盖方法外,您还可以在启动脚本中将
CXX=g++-4.8
导出到您的环境中,以避免每种情况下的麻烦。Cmake显然使用了相同的变量,因此这样做也应该适用于该变量。

我将它们添加到了CMakeLists.txt中,但它不起作用。当我运行cmake时。。他仍然使用4.2。如果在此之后运行make,这就是错误:79%]构建CXX对象框架/CMakeFiles/framework.dir/pixel.cpp.o cc1plus:错误:无法识别的命令行选项“-std=c++0x”make[2]:***[framework/CMakeFiles/framework.dir/pixel.cpp.o]错误1 make[1]:***[framework/CMakeFiles/framework.dir/all]错误2 make:**[all]错误2