2013-10-17 30 views
0

我想编译一些代码,它将使用CGAL但使用包含文件产生错误。该错误说要与-std=c++0x-std=gnu++0x一起编译。尝试设置--std = C++ 0x或-std = gnu ++ 0x通过CGAL_CXX_FLAGS忽略值

如果我添加任何-std=c++0x-std=gnu++0xCGAL_CXX_FLAGS I,E cmake -DCGAL_CXX_FLAGS='-std=c++0x or -std=gnu++0x -I等它只是忽略了什么,我已经为CGAL_CXX_FLAGS设置。

如果我忽略CGAL_CXX_FLAGS中的-std=c++0x-std=gnu++0x,它将C++编译器标志设置为好,但在编译包含文件时失败。

+0

尝试'CMAKE_CXX_FLAGS =' - STD = C++ 0x'' –

+0

由于已经尝试过,没有变化 –

+1

我不认为CMake的处理在命令行参数的单引号。你有没有试过cmake。 -DCGAL_CXX_FLAGS = “ - STD = C++ 0X”'? – Fraser

回答

1

语法

cmake -DCGAL_CXX_FLAGS='-std=c++0x 

是不正确的。 CMake在没有任何警告的情况下接受-D选项的形式,但行为不是你想要的。检查CMake的文档。正确的格式如下:

cmake -DCGAL_CXX_FLAGS:STRING='-std=c++0x' 
+0

感谢这似乎让它接受“-std = C++ 0x” –