Closed wagy closed 8 years ago
Hi,
could you please try moving the #include <chrono>
line in php_v8js_macros.h
right above the extern "C"
line and then simply try again? I suppose that php defines a macro named inline
, which replaces the keyword inline
in front of the namespace
keyword (to something that isn't valid at that particular position).
I haven't yet tried that out as accessing a Windows box always is a bit of a hazzle; but let me know if that still doesn't work ... then I'll go and organize one :)
cheers ~stesie
Hi
yes this error is fixed bad now there is a other problem. Now they include abs and also extern "C" abs
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\cmath(17): error C2894: Vorlagen können nicht mit "C"-Bindung deklariert werden (Quelldatei wird kompiliert ext\v8js\v8js_array_access.cc) C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\cmath(35): error C2733: "abs" : Zweite C-Bindung fr berladene Funktion nicht zul„ssig (Quelldatei wird kompiliert ext\v8js\v8js_array_access.cc) C:\Program Files (x86)\Windows Kits\10\include\10.0.10586.0\ucrt\stdlib.h(286): note: Siehe Deklaration von "abs" (Quelldatei wird kompiliert ext\v8js\v8js_array_access.cc) C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\cmath(40): error C2733: "pow" : Zweite C-Bindung fr berladene Funktion nicht zul„ssig (Quelldatei wird kompiliert ext\v8js\v8js_array_access.cc) C:\Program Files (x86)\Windows Kits\10\include\10.0.10586.0\ucrt\math.h(483): note: Siehe Deklaration von "pow" (Quelldatei wird kompiliert ext\v8js\v8js_array_access.cc) .....
cheers walter
hmm, I'll rent a box on Amazon's EC2 and then have a look ...
The php7 branch now compiles fine, but V8Js still has some issues regarding the test suite (opposed to using it under GNU/Linux). What seems especially strange to me: it crashes if you require a three modules in a row :(
... and time/memory limit doesn't work neither.
everything else seems ok
Ok, so the problems mentioned before all relate to V8Js not initializing v8::Platform as needed. This complicates compilation a bit, but makes all tests pass :-)
Actually there were three tests left red, after initializing platform as needed, two of them caused by \r\n vs. \n differences and another one by providing error reporting in a slightly different order.
Besides that
php_v8js.dll
resulting from the build is pushed to a S3 bucket and available from https://s3.amazonaws.com/win-phpv8/v8js_vc14_php7_ts.zip (x86 build with thread safety)So in order to use V8Js on Windows you can now
... and you're ready to go :-)
Thank you :-)
Hi,
looks like a problem with inline name space ? chrono .. 774 return (_Xt); 775 } 776 777 // duration LITERALS 778 inline namespace literals { 779 inline namespace chrono_literals { 780 inline _CONST_FUN chrono::hours operator "" h(unsigned long long _Val) ..