GetTickCount64
-
Hi,
ich habe zur Zeit das Problem GetTickCount64 nicht nutzen zu können.
Der Compiler meint: 'GetTickCount64' was not declared in this scope
Allerdings nutze ich #include <windows.h>
Sachen wie QueryPerformanceFrequency akzeptiert er ebenfalls.
Hat wer ne Idee, was ich übersehe?
-
msdn, GetTickCount64 Function schrieb:
To compile an application that uses this function, define _WIN32_WINNT as 0x0600 or later. For more information, see Using the Windows Headers.
-
Sadly that doesn't help.
- Was already definded
-
Ahh, f***ing MinGW, it defined my winversion as 0x0400.
Question resolved, thank you.
-
Was für ein System hast du denn - laut MSDN gibt es die Funktion erst ab Windows Vista.
PS: Wenn _WIN32_WINNT schon definiert ist, solltest du mal gegenprüfen mit welchem Wert - und zur Not hilft auf #undef
-
Ok, so wie's ausschaut klappt es wohl doch noch nicht.
Mein Betriebssystem ist Windows Vista.
Das ganze hat noch funktioniert, als es ein Projekt in Visual-Studio war.
Ich wollte nun jedoch einmal Netbeans ausprobieren, aber das will wohl nicht.Ich hab das ganze jetzt mal auf den kleinstmöglichen Fehler runtergehauen, wenn ich das define:
#define _WIN32_WINNT 0x0600; #include <iostream> #include <windows.h> using namespace std; int main(int argc, char** argv) { std::cout << _WIN32_WINNT<<"\n"; return 0; }
Das ganze ist ein brandneues netbeans-projekt.
Es spuckt tausende dieser Fehler aus:
include/winspool.h:17:6: error: token ";" is not valid in preprocessor expressionsDer Fehler muss offensichtlich jedoch ein anderer sein, da ist weit und breit kein Semikolon in der Nähe.
-
Mathews schrieb:
Der Fehler muss offensichtlich jedoch ein anderer sein, da ist weit und breit kein Semikolon in der Nähe.
Doch, ist es - am Ende der ersten Zeile deines Quelltexts. (Präprozessor-Direktiven werden im Gegensatz von C/C++ Anweisungen nicht durch Semikolon abgeschlossen, sondern durch das Zeilenende)
-
Oh Mist, hatte ich glatt übersehen^^
Nuja, der minimale Fehlerquelltext ist jetzt:#define _WIN32_WINNT 0x0600 #include <iostream> #include <windows.h> using namespace std; int main(int argc, char** argv) { GetTickCount64(); std::cout << _WIN32_WINNT<<"\n"; return 0; }
Mit der Ausgabe 'GetTickCount64' was not declared in this scope
-
MinGW verwendet nicht das offizielle Windows SDK. Vielleicht ist da GetTickCount64 einfach noch nicht mit dabei.