2017-02-16 2 views
4

Я строю skia на окнах, следующих за this link.Нужна помощь Строительство Skia на Windows (только 32 бит)

Для окон x64 сборка была довольно гладкой. Но когда дело доходит до построения для 32 бит, я испытываю боли.

1) Я попытался указать target_cpu = "x86" вместо target_cpu = "x64", gn gen работает отлично, но ниндзя бросает много ошибок, жалуясь на то, что пути к визуальной студии содержат пробелы. Он имеет всевозможные ошибки, подобные приведенным ниже:

«C: \ Programs» не является допустимым путем.

2) Я пробовал генерировать sln-файлы и строить из IDE (что является альтернативой, как указано в ссылке). Тем не менее, я даже не могу получить версию x64 для компиляции (много ненулевых кодов выхода из ниндзя, никаких дополнительных сообщений для наблюдения).

3) Скорее всего, я попробовал использовать инструментальную цепочку, которую сайт утверждает, что является «единственным способом поддержки 32-битных сборок». Набор инструментов должны быть загружен с помощью следующей команды (будет выполняться в Skia директории):

python infra/bots/assets/win_toolchain/download.py -t C:/toolchain 

мне удалось обойти кучу тонкостей (gutil конфликты, .py удлинительных пропуска, переменными пути, в Google облачного сервиса) и сейчас я застрял на это:

Помнить как XXXXXXXXXXXXXXXX

AccessDeniedException: 403 Caller не имеет storage.objects.list доступ к ковшовых Skia-buildbots.

Я уверен, что я, должно быть, так плохо перепутался. Официальный гид казался таким простым, но я испытал так много ударов по пути.

На самом деле, я не ограничиваюсь тем, как он построен, пока он генерирует «libs» для меня. Но с большим проектом, имеющим так много внешних зависимостей, я не думаю, что это легко поварить.

Заранее спасибо.

+2

Имея ту же самую проблему , Удалось ли вам найти решение? – aaronsnoswell

ответ

0

Одно из решений я нашел:

  1. Откройте out\Release\toolchain.ninja текстовый файл (или toolchain.ninja специфичные для вашей конфигурации)
  2. Удалить следующую строку (вы можете использовать «Заменить текст» с пустая строка в текстовом редакторе):

    C:/Program Files (x86)/Microsoft Visual Studio 14.0/win_sdk/bin/SetEnv.cmd /x86 && C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64_x86/ 
    

    отовсюду (в случае, если вы использовали x86, для x64 строка может быть разными)

  3. И использовать ninja -C out/Release dm как обычно

В этом случае мы используем набор инструментов, где cl.exe, ml.exelink.exe команды вызываются непосредственно (подъезд из PATH среды)

+0

У меня почти такая же проблема, может быть, вы тоже мне поможете. мне удалось построить skia all.sln, он включает в себя 64 проекта, и я могу запускать их, но я не могу создать проект самостоятельно, я попробовал множество трюков. Если я удалю другие проекты из решения, ниндзя откажется строить. Согласно вашему совету, я должен удалить строку из toolchain.ninja, но у меня даже нет этой строки. я надеюсь, что вы знаете какую-то магию/@ – bobra

+0

@bobra, это другая проблема, связанная с вашей собственной программой с Skia - это совершенно другой мир; похоже, что в этой последней версии они упрощают связь, используя только одну библиотеку (libskia.a), поэтому вы должны сделать две вещи для своего проекта: 1) включить 'skia/include /' dir для файлов .h и 2) свяжите свою программу с 'out/Release/libskia.lib') – dacap

Смежные вопросы