Mein VC 2008 Express kennt time() nicht
-
Hallo,
ich habe hier ein Projekt das ich mal mit VC6 erstellt hatte und das ich jetzt mit VC 2008 Express kompilieren möchte, und der meckert immer rum:
warning C4013: 'time' undefiniert; Annahme: extern mit Rückgabetyp int
time.h, sys/types.h und sys/timeb.h sind inkludiert. Suchen hier im Forum und im Netz brachte bisher nichts.
time_t now; time(&now); // das mag er nicht
Gruß,
Marco
-
Doch VC2008 Express kennt time.h. Das kann man aber auch überprüfen indem man das include-Verzeichnis von VS anguckt.
Und die Warnung weist auf eine fehlende Inkludierung von time.h, auch wenn Du das anders siehst.
Im Allgemeinen hat der Compiler Recht.
-
das steht ganz oben drin:
#define PHP_COMPILER_ID "VC9" #include "php.h" #include "php_ini.h" #include "ext/standard/info.h" #include <winsock2.h> #include <time.h> #include <stdio.h> #include <string.h> #include <windows.h> #include <tchar.h> #include <strsafe.h> #include <psapi.h> #include <sys/types.h> #include <sys/timeb.h>
In der time.h vom VC finde ich nur _time32() und _time64(). Aber auch wenn ich das abändere auf _time32() meckert der noch.
Ich schau mir mal die header-files vom PHP an, nicht das die mir was vergurken, wäre nicht das erste mal
-
habs. der include-pfad vom VC stimmte nicht. der war auf c:/programme/... statt auf c:/programme(x86)/...
-
Glückwunsch, ist ein fieser Stolperstein.
time.h ist bei der Professional in
C:\Program Files\Microsoft Visual Studio 9.0\VC\include vorhanden.
Dann gibts da einen Unterschied zur Express.
-
nein ich meinte damit: ich hab win7 und das express heute morgen erst installiert damit ich die php-extension fix kompilieren kann, und der include-ordner ist unter c:/programme (x86)/microsoft visual studio 9/vc/include. das studio hatte aber default c:/programme/....usw.../include in der config drin stehen, den ordner gibts aber nicht.