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.


Anmelden zum Antworten