Le "return XX;" est facultatif en C++ quand le type de retour d'une fonction est int.
chris@tarsonis:~/Temp% cat ret.cpp
int main() {}
chris@tarsonis:~/Temp% g++ -Wall -Wextra ret.cpp
chris@tarsonis:~/Temp% clang -Wall -Wextra ret.cpp
chris@tarsonis:~/Temp%
En l'absence de retour, le compilateur doit faire comme si la fonction retourne le code pour indiquer l'absence d'erreurs. On peut raisonnablement penser que ça veut dire "pas return == "return 0;" implicite.
Et bien évidemment, tout cela n'a absolument rien à voir avec le système sous-jacent.
Bref, pour en revenir au problème initial : ce ne serait pas un problème lié à ton environnement de développement qui ne trouve pas les headers et/ou les .dll pour Qt ?