gcc 4.8.2 cc1plus: error: unrecognized command line option "-std=gnu++11"
gcc 4.8.2 cc1plus: error: unrecognized command line option "-std=gnu++11"
我有一个系统,在这个系统中我一直在使用 automake 使用 C++11 编译程序并且一切正常。
但是,当不同的用户使用完全相同的 Makefile 时,他们会收到上述错误。
现在,如果他们输入 g++ --std=gnu++11 program.cpp
那么就没有投诉了。
我已将范围缩小到引起问题的那一行;但是,我不知道如何解决它。
depbase=`echo no_endl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I../.. -g --std=gnu++11 -g -O2 -MT no_endl.o -MD -MP -MF $depbase.Tpo -c -o no_endl.o no_endl.cpp &&\
mv -f $depbase.Tpo $depbase.Po
问题出在depbase
;但是,我不知道它是怎么回事,也不知道它为什么会在那里。
下面是我用来生成 Makefile 的 Automake 文件:
bin_PROGRAMS = no_endl
AM_CXXFLAGS = -g --std=gnu++11
no_endl_SOURCES = no_endl.cpp
我的 g++ 和他们的 g++ 之间的唯一区别是我有一个别名,所以 g++
变成 g++ -g
。
有用的信息
g++ --version
g++ (GCC) 4.8.2 20140120 (Red Hat 4.8.2-15)
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
如果我需要提供任何其他信息,请告诉我。
Related Question
您可能需要以下额外的 m4 宏文件来处理替代 C++11 编译器的特殊情况。
https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html#ax_cxx_compile_stdcxx_11
我解决了问题。
问题是我和其他用户的 $PATH
个变量。
现在,其他用户有一个 g++
到较新版本的别名,但他们的 $PATH
忽略了实际位置。
根据他们的 $PATH
变量制作作品,因此要修复它,我只需要确保他们的路径与我的路径具有相同的位置。
我有一个系统,在这个系统中我一直在使用 automake 使用 C++11 编译程序并且一切正常。
但是,当不同的用户使用完全相同的 Makefile 时,他们会收到上述错误。
现在,如果他们输入 g++ --std=gnu++11 program.cpp
那么就没有投诉了。
我已将范围缩小到引起问题的那一行;但是,我不知道如何解决它。
depbase=`echo no_endl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ g++ -DHAVE_CONFIG_H -I. -I../.. -g --std=gnu++11 -g -O2 -MT no_endl.o -MD -MP -MF $depbase.Tpo -c -o no_endl.o no_endl.cpp &&\ mv -f $depbase.Tpo $depbase.Po
问题出在depbase
;但是,我不知道它是怎么回事,也不知道它为什么会在那里。
下面是我用来生成 Makefile 的 Automake 文件:
bin_PROGRAMS = no_endl
AM_CXXFLAGS = -g --std=gnu++11
no_endl_SOURCES = no_endl.cpp
我的 g++ 和他们的 g++ 之间的唯一区别是我有一个别名,所以 g++
变成 g++ -g
。
有用的信息
g++ --version
g++ (GCC) 4.8.2 20140120 (Red Hat 4.8.2-15)
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
如果我需要提供任何其他信息,请告诉我。
Related Question
您可能需要以下额外的 m4 宏文件来处理替代 C++11 编译器的特殊情况。
https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html#ax_cxx_compile_stdcxx_11
我解决了问题。
问题是我和其他用户的 $PATH
个变量。
现在,其他用户有一个 g++
到较新版本的别名,但他们的 $PATH
忽略了实际位置。
根据他们的 $PATH
变量制作作品,因此要修复它,我只需要确保他们的路径与我的路径具有相同的位置。