Coś cienko widzę ten plik *.pro.
W ramach wyjaśnienia HEADES += cos.h
jest informacją dla qmake, że program moc
powinien przetworzyć ten plik w celu wytworzenia meta danych (jeśli jest taka potrzeba dla danego pliku ma wytworzyć moc_cos.cpp) i tyle. NIE jest to informacja, o lokalizacji pliku lub jego "załączalności".
INCLUDEPATH
powinno załatwić sprawę. Widzę, że kompilujesz pod Linuxem, pamiętaj, że na tym systemie wielkość liter ma znaczenie! Sprawdź czy nazwa pliku z include jest identyczna z tą z katalogu.
Upewnij się też, czy w INCLUDEPATH
wielkość liter ścieżki przypadkiem też nie jest pomieszana.
A teraz moje zrzędzenie co do stylu pliku *.pro:
Strasznie masz namieszane. Jakoś nie wierzę, że piszesz to sam, z dużo jest tych plików (nawet jak byłoby was kilku). Zapewne wklejasz źródła z innych projektów. Czemu nie stosujesz bibliotek? Odseparuj się od cudzego kodu. Dołączaj do swojego projektu biblioteki i pliki nagłówkowe.
Źle też podszedłeś do multiplatformowości, widzę dodawanie plików źródłowych z katalogów "Port-linux" i "Port-win32" w każdym wypadku w plikach *.pro można zastosować warunkowe dodawanie źródeł.