Я только что установил редактор Atom и пакет gpp https://github.com/livace/atom-gpp скомпилировать и запустить с ++. Когда я бегу, я получаю сообщение об ошибке, говорящее, что нет такого файла или каталога.
Я думаю, что это из-за того, что в моем пути к каталогу есть пробелы. Я проверил исходный код плагина gpp и нашел это:
const options = (file.path + ' -o ' + compiledPath + ' ' + atom.config.get('gpp.compilerOptions')).replace(/[\s{2,}]+/g, ' ').trim();
path.join(filePath.dir, filePath.name);
const child = child_process.spawn('g++', options.split(' '), {
cwd: filePath.dir
});
Я никогда не работал с nodeJs раньше, но я думаю, что это вызывает ошибку. Любая идея, как заставить это работать с пробелами в пути к каталогу (cwd)?
Я нашел исправление. В index.js плагина gpp измените
const options = (file.path + ' -o ' + compiledPath + ' ' + atom.config.get('gpp.compilerOptions')).replace(/[\s{2,}]+/g, ' ').trim();
path.join(filePath.dir, filePath.name);
console.log(options.split(' '));
const child = child_process.spawn('g++', options.split(' '), {
cwd: filePath.dir
});
к
const options = atom.config.get('gpp.compilerOptions').replace(/[\s{2,}]+/g, ' ').trim();
path.join(filePath.dir, filePath.name);
var new_options = [file.path,'-o',compiledPath]
if (options != ""){
new_options = new_options.concat(options.split(' '));
}
const child = child_process.spawn('g++', new_options, {
cwd: filePath.dir
});
Других решений пока нет …