Seite 1 von 2

Visual Studio, extra headers mocen?

Verfasst: 26. Oktober 2010 14:13
von alia5
Heyho,

Habe etwas mit threads, signals, und slots rumgespielt...
funktioniert auch alles soweit^^
allerdings nur dann wenn ich meine klasse für den thread auch in dem header definiere in dem auch die gui definiert ist...

in anderen worten:
wenn ich für meine thread klasse einen eigenen header erstelle, wird dieser nicht gemoct

..also ich bekomme diesen fehler hier
error C1083: Datei (Quelle) kann nicht geöffnet werden: "GeneratedFiles\Debug\moc_testl.cpp": No such file or directory
...

wie stelle ich das jetzt so ein das er auch die andere datei moct?


Edit:
Aus mir unerklärlichen gründen funktioniert es im RELEASE-Mode...
wenn ich dann die moc datei in dne debug ordner kopiere klappt es auch dort oO

Verfasst: 26. Oktober 2010 16:28
von padreigh
Q_OBJECT .... ?

Verfasst: 26. Oktober 2010 17:07
von alia5
padreigh hat geschrieben:Q_OBJECT .... ?
was willst du mir damit sagen?
das ich Q_OBJECT in den afnag von meiner klasse schreiben soll?


freundchen so ein noob bin ich nun auch wieder nicht... *HUST*

Verfasst: 26. Oktober 2010 17:15
von Christian81
Wurde es korrekt mit qmake erzeugt oder von Hand?
Ggf. gibt es ein zeitproblem - mach mal ein touch auf die Header-Datei welche nicht gemoct wird.

Verfasst: 26. Oktober 2010 17:34
von alia5
es wird GARNICHTS erstellt.... im release mode funktioniert es jedoch ohne probleme

..wie meinen?

Verfasst: 26. Oktober 2010 17:48
von padreigh
Das kann ich ja nicht riechen *SNIEF* ... haste denn nur ein .h erstellt und kein .cpp ? Wenn so, dann mach mal noch ein dein_thread.cpp in das du #include "dein_thread.h" reinschreibst ... und pack das cpp noch mit ins .pro file .. qmake erneut und schau obs klappt ...

Verfasst: 26. Oktober 2010 20:07
von alia5
ja ist wahr, tschuldigung .__.

doch cpp file hab ich auch... hab alles so wies sein soll

im release mode funzt das ganze auch ohne probleme
nur im debug mode nicht, auser ich kopier das im release mode erstellte moc file (das zum glück ja das selbe ist :) )

.pro file hab ich nich...
wie der threadtitel sagt nutze ich visual studio mit addin

Verfasst: 26. Oktober 2010 21:01
von Christian81
Auch das addin erstellt eine pro-Datei afaik.
Da muss ein Buildstep falsch sein - am besten irgendwie das .vsproj neu erzeugen lassen.

Verfasst: 26. Oktober 2010 22:18
von alia5
bei mir gibts keine .pro datei....
neu erstellen kann an auch vergessen...
habs getestet ist bei jedem projekt so T.T

Verfasst: 30. Oktober 2010 20:55
von alia5
push

Verfasst: 30. Oktober 2010 23:42
von Christian81
Was gibts da zu pushen? Zeig ein minimales Beispiel und gut ist. Nimm eine pro-Datei und es geht. Was noch mehr??

Verfasst: 30. Oktober 2010 23:45
von alia5
wie denn wenn der mir keine .pro datei erstellt? pf...

und von was bitte willst du ein beispiel?!

Code: Alles auswählen

class wtf : public QThread
{
Q_Object

public:
void bla();

int sdf;

private:

bool blabla;

signals:
void blubb(int blaaaa);

protected:

void run();

};

void wtf::run()
{
   int stf + 46 / 2;
}
Sowas?! oO ...wie es in der qt docu hald drinsteht...


meine fresse ey der moct hald nich im debug mode, jetz im release mmode auchnichtmehr...


wie kann man eig manuell mocen?

edit: auserdem push ich wies mir passt :P


das die leute immer um den verhurten heißen brei rumreden müssen und einem nicht einfach mal MEHR als EINE verhurte lösung posten können, und wenn was zu geposteten gesagt wurde dann wenigstens mal drauf eingehen...
aba naaaaiiiin... auf solchne ideen kommt kein mensch

Verfasst: 31. Oktober 2010 07:06
von franzf
Kannst du mal bitte Versionen posten?
Qt, VS, Addin, etc was nötig ist. Ich hab nur Linux (verwende auch cmake statt qmake) drum kann ich nicht sagen ob das stimmt dass das Addin kein .pro erstellt. cmake erstellt ja auch keins.
Wenn der moc-step nicht ausgeführt wird, ist das ein Bug im Addin, ein Kompatibilitätsproblem addin<->VS, oder der VS kann seine eigenen Projektfiles nicht mehr lesen...

Und bitte weniger fluchen. Das bringt die Lösung auch nicht schneller (übrigens genauso wie beten), die Leute bekommen weniger Lust zu antworten. Außerdem kannst passieren dass hier Kinder mitlesen - oder besorgte Eltern :P

Verfasst: 31. Oktober 2010 08:39
von Christian81

Verfasst: 31. Oktober 2010 09:10
von alia5
Christian81 hat geschrieben:10 Sekunden google... http://bugreports.qt.nokia.com/browse/QTVSADDINBUG-10
tija zu blöd das das in 1.1.7 angeblich gefixt ist und ich diese version nutze... :P



das einem niemand einfach das hier posten kann und man über mehrere tage vereilt stundenlang googlen muss -.-

Code: Alles auswählen

%QTDIR%\bin\moc.exe  -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DTESTING_ENABLED -DTRACE_ON -D_DEBUG -D_X86 -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT "fileName.h" -o "moc_fileName.cpp"