-
Notifications
You must be signed in to change notification settings - Fork 78
Unable to compile: fatal error C1900: Il mismatch between 'P1' version '20150812' and 'P2' version '20130802' #12
Comments
Thanks for the report. This kind of error usually means your Visual Studio install is broken. I'd advise to retry on some clean machine, with the core only first, or maybe try to reinstall VS. Thanks. |
I've installed (and just reinstalled) only the vs build tools. It used to work before I've updated the dependencies. Also (don't know if relevant) I'm using the x86 x64 cross compiler, because I've never had the x64 native one... who knows why. I do have a 64 bit machine and OS. |
That might be a factor, yes. As soon as you try to link with deps, there might be issues, if you only compile sources and link with the same toolset - that's fine. Actually, there's no cross compilation support, it's documented. Another point - i was working to support build tools only for vc15 (upcoming PHP 7.2), but not for vc14. If you bypass the starter scripts - well, that might be fine, but I never tried it, especially not with vc14 standalone build tools. Anyway it seems to be explicitly some VS issue, not the new sdk one, at the moment at least. I'd recommend to get some community edition, conventional, standard :) and check with it. Thanks. |
I could compile PHP 7.1.0 with the same setup. 7.1.5 and 7.1.6 failed instead. These are the only that I've tried. Does that help to identify the issue? I don't mind using an old version as it's for a dev machine anyway. It is strange though, because it always worked fine. Also, do you know why I don't get the native x64 compiler? Are you suggesting me to install VS express or whatever it's called now? Thank you for the help. |
It should not depend on the PHP version in 99% of cases. If you compile without deps - same toolset is used. As soon as deps are in the game, the toolset used for the deps and the toolset currently being used do matter. Why there's no 64-bit compiler - not sure as I don't use the build tools. Do you Thanks. |
LINK : fatal error LNK1104: cannot open file 'E:\php-sdk\phpmaster\vc14\x64\Release_TS\resp\PHP_GLOBAL_OBJS.txt'
|
The link error above is not related. It's because the response file is missing, those should not be deleted by hand, you need to configure and all that stuff again. VS code is an editor only AFAIK, no idea about it anyway :) Thanks. |
I did not delete it by hand :P |
Oh, then something fishy happens anyway. Should not happen, if you follow the build doc by letter. Thanks. |
Btw. it were anyway interesting to know, what your Thanks. |
I've installed visual studio but nothing changed. I still only get the cross arm compiler, the x86 and the cross x64. no native x64 one |
So, after I've installed all released VS of the past 10 years, I'm still missing VC14 x64 compiler. I've lost all hopes. I'm trying on another machine now. Is it possible that Windows 7 just doesn't have it? |
Update: After it did that error again, I've tried to relaunch nmake again without doing nmake clean. It resumed from where it left before the error... and completed the compilation. I'm completely stumped. Running the tests now... |
Thanks for the further checks. As the issue doesn't regard the binary tools SDK, I'm closing it. Please direct the issues regarding the Visual Studio configuration to the corresponding places like MSDN support, etc. If you could invent a patch for the BuildTools support for vc14, I't be something to evaluate. Please also keep in mind, that we officially don't support yet the new SDK wrt. PHP lower than 7.2 and not Visual Studio, while it is likely to work. Thanks. |
It used to work. I'm using VC14 x64 and PHP 7.1.6
I tried downloading the deps from both windows.php.net and from the phpsdk_deps tool but no luck, and same error on both the solutions.
The text was updated successfully, but these errors were encountered: