O -c
sinalizador diz a g++
para compilar seu código-fonte para o código-objeto, mas não precisa vinculá-lo às bibliotecas necessárias para criar um binário executável autônomo. De man gcc
:
-c Compile or assemble the source files, but do not link. The linking
stage simply is not done. The ultimate output is in the form of an
object file for each source file.
Para criar um programa executável, execute seu comando novamente sem o -c
flag:
g++ test.cc -o out
seguido por
./out
(o sinalizador do executável será definido por padrão - um chmod
explícito não deve ser necessário).