Как оказалось, я строил против головы v8.Я не знаю, сломана ли голова или нет, так как d8 и все тестовые программы работали нормально.Тем не менее, когда я скомпилировал минимальную программу, взяв почти весь мир, исходный текст v8, инициализация зависла на неопределенное время.
Наконец, я обнаружил, что мне нужно выполнить полную проверку исходного кода.Ранее я делал:
fetch --no-history v8
Однако, когда я проверял ветку:
git checkout branch-heads/7.2
А потом запускал:
gclient sync
Это всегдапотерпеть поражение.Теперь я запускаю:
fetch v8
git checkout branch-heads/7.2
gclient sync
Затем я настраиваю свою сборку и компилирую.Получающийся файл libv8_monolith.a работает как с моим минимальным тестовым набором, так и с более полным приложением, которое я пытаюсь встроить.
Очень хорошо может быть взаимодействие с более поздним v8 и чем-то в моем более крупном приложении.Тем не менее, пока что все работает, поэтому я надеюсь, что это просто ошибка в голове, которая плохо работает с моей средой.