O C ++ 11 não é um compilador, mas um padrão ISO implementado por um número de compiladores populares. O compilador C ++ padrão no Ubuntu é g++ da coleção de compiladores GNU. Como você mencionou na sua pergunta, o sinal -std=c++11 habilita os recursos do C ++ 11 em g++ , bem como o Clang, outro compilador C ++ disponível no Ubuntu.
A mensagem de erro que você vê é mostrada quando o suporte ao C ++ 11 não está habilitado ou não é suportado pelo seu compilador. O GCC 4.6 foi a primeira versão a suportar nullptr , portanto, se você estiver usando uma versão anterior, não poderá usar nullptr . Use g++ --version para obter a versão instalada.
Supondo que você esteja usando pelo menos o GCC 4.6, você precisará determinar por que seu sistema de compilação não está passando os sinalizadores corretos para o compilador. No CMake, por exemplo, você precisará usar:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")