Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 加上“标志”-fno隐式模板“;制作文件_C++_Templates_Makefile_Cmake - Fatal编程技术网

C++ 加上“标志”-fno隐式模板“;制作文件

C++ 加上“标志”-fno隐式模板“;制作文件,c++,templates,makefile,cmake,C++,Templates,Makefile,Cmake,我制作了一个程序,使用auto派生模板类型。这个程序是在C++11中使用Make文件编译的(它按照预期工作),但是我需要将这个程序加入到一个使用CMake文件的更大的程序中 我尝试在项目的CMakeLists.txt的顶部文件夹中使用类似的内容 SET(CMAKE_CXX_FLAGS "-std=gnu++11") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-implicit-templates ") 但是运行CMake文件会发送与auto和tem

我制作了一个程序,使用auto派生模板类型。这个程序是在C++11中使用Make文件编译的(它按照预期工作),但是我需要将这个程序加入到一个使用CMake文件的更大的程序中

我尝试在项目的CMakeLists.txt的顶部文件夹中使用类似的内容

SET(CMAKE_CXX_FLAGS "-std=gnu++11")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-implicit-templates ")
但是运行CMake文件会发送与auto和template类型变量精确相关的各种错误。
我做错了什么?

也许有什么东西会覆盖其他地方的CMAKE\U CXX\U标志。尝试根据每个目标设置编译标志,例如使用(对于CMake 3.x):

或者,如果您使用的是CMake 2.8.x:

set_property(TARGET your_target APPEND_STRING PROPERTY
             COMPILE_FLAGS " -std=gnu++11 -fno-implicit-templates")

尝试附加您的标志,而不是覆盖第一行
集中的其他标志(CMAKE_CXX_FLAGS“${CMAKE_CXX_FLAGS}-std=c++11”)
我认为这个答案更适合作为注释。不过只有我的2美分。
set_property(TARGET your_target APPEND_STRING PROPERTY
             COMPILE_FLAGS " -std=gnu++11 -fno-implicit-templates")