Насчет необходимости создания объекта QCoreApplication/QApplication утверждать не возьмусь. Но в принципе вот такой вот код вполне работает:
int main(int argc, char *argv[])
{
...
QCoreApplication app(argc, argv);
...
QTextStream cout(stdout);
...
switch(checkSettings())
{
case Absent:
...
cout << QObject::tr("Был создан файл настроек по умолчанию. "
"Измените настройки на желаемые и запустите программу снова.\n");
break;
case Outdated:
...
cout << QObject::tr("Файл настроек программы был обновлен. "
"Измените новые настройки на желаемые и запустите программу снова.\n");
break;
case Actual:
...
break;
}
return 0;
}