Как скомпилировать код из stdin?

Код довольно прост:

test$ cat test.cpp

int main()
{
}

Есть ли способ скомпилировать код, который поступает со стандартного вывода?

Я пробовал это:

cat test.cpp | g++ -

и некоторые варианты, но ни один из них не выполнил исполняемый файл.


Просто некоторые разъяснения. У меня есть программа, которая предварительно обрабатывает файл и создает другой файл, который я хочу скомпилировать. Я думал о том, что не создаю этот промежуточный файл, но вместо этого создаю объектный файл напрямую.

Ответ 1

Компилятор, вероятно, сказал бы вам:

-E or -x required when input is from standard input

Try

cat test.cpp | g++ -x c++ -

Ответ 2

Вы пробовали это?

$ cat tst.cpp | g++ -x c++ -

Я только что попробовал это под Cygwin и не имел проблем.