не удалось скомпилировать его дальше в php.exe в windows 10 + vs2015 + x64

Я создаю пользовательскую сборку в Windows для php 7.0.4. Все хорошо, если следовать процессу в https://wiki.php.net/internals/windows/stepbystepbuild до тех пор, пока не будет выполнено nmake snap. Когда я делаю nmake после сборки конфигурации, он выдает мне некоторые ошибки и завершается с ошибкой 1077. Итак, согласно документации VS https://msdn.microsoft.com/en-us/library/dt309377.aspx Я использовал /I, чтобы игнорировать ошибки и строить дальше.

Проблема в том, что -> I am getting a x86 build instead of x64 build. Во-вторых, rather than a clear build I am getting a manifest and development source. я не могу скомпилировать его дальше в .exe. Команда, которую я использую для сборки, проста и configure --disable-all --enable-cli --enable-cgi --with-pgo --enable-snapshot-build . Это простая сборка только для php.exe, php-cgi.exe с включенным pgo.

введите здесь описание изображения

Что я делаю не так? Любая помощь приветствуется.

ОБНОВЛЕНИЕ

Выяснил, что --with-pgo или добавление любых других расширений в строку configure является виновником ошибки 1077. Может ли это быть из-за отсутствия зависимостей в папке deps? Но я все еще не могу объяснить, почему дистрибутив X86 попадает в папку X64. Иногда я получаю сообщение об ошибке, говорящее о том, что встроенная конфигурация сборки не соответствует спецификации папки X64. Не уверен, что происходит, не может воспроизвести проблемы, отличные от 1077, путем включения дополнительных расширений.


person Gary    schedule 22.03.2016    source источник


Ответы (2)


Вы можете взглянуть на этот https://github.com/johmue/win-php-sdk-builder проект github.

person Johannes    schedule 22.03.2016
comment
спасибо, сэр, это мило с вашей стороны. только что ответил на вопрос. это было как-то связано со средой инструментов разработчика - person Gary; 23.03.2016

Проблемы были связаны с фатальной ошибкой 1077, решенной путем удаления --with-pgo из сценария настройки. Процесс сборки для него (оптимизация в PHP7) состоит из шагов, отличных от описанных в документации для обычной компиляции.

Проблема со сборкой X86 вместо X64 была связана с архитектурой среды cl.exe в командной строке разработчика vc. Он был установлен на x86. Я изменил его, введя команду vcvarsall X64 и команду configure, команда nmake сработала, создав сборку для X64.

Особое примечание: Спасибо команде Windows PHP, особенно Пьеру за его идентификацию.

person Gary    schedule 23.03.2016