QtCreator -plötzlicher, unerklärlicher Fehler

Alles zu Entwicklungsumgebungen und Editoren für Qt
Antworten
Tilman Räger
Beiträge: 189
Registriert: 6. Juni 2007 15:23
Wohnort: Göttingen

QtCreator -plötzlicher, unerklärlicher Fehler

Beitrag von Tilman Räger »

Hallo,

ich habe hier ein recht seltsames Problem:
Bei meinem aktuellen Projekt (Qt 4.8.4, Linux, QtCreator) habe ich versucht in einem meiner eigenen Header über eine Compilerschalter (DEFINES += ...) ein Makro auszuschalten, indem ich es in Abhängigkeit von diesem Schalter als Leerstring definiere, sollte kein Problem sein.

als ich danach versucht habe, mein projekt neu zu bauen (sicher das 20. mal heute, ohne Änderungen in der Dateistruktur o.ä. ) bekam ich auf einmal einen Parser-Fehler in der Pro-Datei, Zeile 1. Bemängelt wurde der von QtCreator eingefügte Kommentar:

Code: Alles auswählen

#------------------------------
# erzeugt mit QtCreator (
#------------------------------
nach löschen dieser zeilen läuft qmake wieder durch, nun allerdings bekomme ich Probleme mit den Qt-Headern. Die normalen Header werden gefunden, die QSql...-Header nicht. Vorhanden sind sie jedoch nach wie vor am Standardplatz (/usr/local/Trolltech/Qt-4.8.4/include/QtSql)
Include mittels z.B.

Code: Alles auswählen

#include <QtSql/QSqlRecord> 
scheint zu funktionieren, aber
1. mit ich nicht unbedingt erfreut, alle Includes ändern zu müssen
2. hat es bis vor 10 Minuten perfekt funktioniert - warum jetzt also nicht mehr?

Kennt jemand ein solches Verhalten? Neustart von QtCreator und/oder Rechner habe ich bisher noch nicht probiert.

Bin für jeden Tip dankbar!

Gruss
Tilman (Räger)

Noch ein paar Ergänzungen:
- Neustart des QtCreators ergab keine Änderung.
- Im Makefile wird offensichtlich das Define -DQT_SQL_LIB (oder so ähnlich, der Rechner ist schon heruntergefahren ;-) nicht gesetzt, dadurch fehlen anscheinend die Suchpfade und beim Linken findet er auch keine der Qt SQL-Funktionen.
Die Lösung (oder besser der Workaround): Aufspalten der Zeile

Code: Alles auswählen

QT += core gui sql
(bisherige .pro-Datei - funktioniert nicht)
in

Code: Alles auswählen

Qt += core gui
Qt += sql
Das funktioniert seltsamerweise. Warum, ist mir leider völlig schleierhaft.

Gruss
Tilman (Räger)
Antworten