инструкции по сборке V8 JavaScript Engine упоминает только Visual Studio 2005 и 2008. Кому-нибудь удалось успешно использовать MinGW в Windows XP / Vista?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я пробовал, но, похоже, он автоматически определяет платформу WIN32 и пытается вызвать компилятор vC++, я попытался добавить в PATH компилятор mingw-gcc (у меня не установлен vC++), и сценарий сборки правильно его видит, но не компилируется из коробки.
Я полагаю, что удаление «флага WIN32» выполнит свою работу, поскольку для успешной компиляции под mingw компилятор должен думать, что он находится в среде unix, но тогда, даже если он компилируется, вероятно, у него будут некоторые проблемы из-за другой платформы.
V8, похоже, использует разные части своего кода (особенно для файловой системы) для разных платформ. Я сделал сборку под Cygwin, которая выпускает красивую Linux-библиотеку, которая работает в Linux, но не работает в Win. Думаю, отчасти то же самое будет и с MinGW, если стереть флаг WIN32!
На данный момент я вижу только 2 возможности. Один из них прост: используйте Visual Studio, это бесплатно. Вторая очень сложная: напишите make-файл :)
Есть патч для поддержки MinGW: http://codereview.chromium.org/18309
Смотрите также: http://code.google.com/p/v8/issues/detail?id=64
Вам просто нужно немного поменять Scons.
Взгляните на C: \ YourPythonFolder \ Lib \ site-packages \ scons-YourSconsVersion \ SCons \ Script__ init__.py и перейдите к строке 560.
.
Измените компоновщик на gnulink, компилятор c на mingw и компилятор C++ на g ++.
В конечном итоге это должно выглядеть так:
linkers = ['gnulink', 'mslink', 'ilink', 'linkloc', 'ilink32' ]
c_compilers = ['mingw', 'msvc', 'gcc', 'intelc', 'icl', 'icc', 'cc', 'bcc32' ]
cxx_compilers = ['g++', 'msvc', 'intelc', 'icc', 'c++', 'bcc32' ]
Теперь MingW активирован по умолчанию :)