2016-06-20 5 views
0

Я пытаюсь скомпилировать два файла в двух дочерних процессах, которые я создаю из модуля Node.js 'child_process, с параллельным подключением .spawn(), в основном, зацикливая на источники и создавая сразу две оболочки.cl.exe не будет компилироваться во втором дочернем процессе

Однако только один файл будет скомпилирован, и это не всегда одно и то же. Один child_process вернется с кодом ошибки 2.

Известно ли, что cl.exe не может запускать два экземпляра? Я предполагаю, что его выполнение последовательно устранит эту проблему.

Примечание: установка или снятие с охраны/флаг MP не меняет это поведение.

ответ

0

cl.exe работает jsut fine в нескольких процессах. Однако некоторые флаги могут изменить это. В моем случае /Zi создает файл базы данных программы, к которому нельзя получить доступ более чем одним cl.exe.

Решение для этого было бы либо установить /Fs, что заставляет одновременно записывать, либо просто не устанавливать /Zi, что я и сделал.