J'ai un système dans lequel j'ai compilé des programmes avec C++ 11 en utilisant automake et tout a fonctionné. Cependant, lorsqu'un utilisateur différent prend le même Makefile exact, il obtient l'erreur mentionnée ci-dessus.gcc 4.8.2 cc1plus: erreur: option de ligne de commande non reconnue "-std = gnu ++ 11"
Maintenant, s'ils tapent g++ --std=gnu++11 program.cpp
alors il n'y a pas de plaintes. Je l'ai réduit à une ligne qui cause le problème; Cependant, je ne sais pas comment le réparer. Le problème est avec depbase
; Cependant, je ne sais pas ce qui se passe avec ou pourquoi il est là.
Ci-dessous le fichier Automake que j'utilisé pour générer le Makefile:
bin_PROGRAMS = no_endl
AM_CXXFLAGS = -g --std=gnu++11
no_endl_SOURCES = no_endl.cpp
La seule différence entre mon g ++ et leur g ++ est que j'ai un alias pour g++
se transforme en g++ -g
.
Informations utiles
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.
En cas de toute autre information que je dois fournir, alors laissez-moi savoir.
Je pense qu'il ne devrait pas y avoir un double tiret dans le commutateur juste un -std = ... ' – Radek