История изменений
Исправление EXL, (текущая версия) :
Опять я про QBS, случайно не знаете как подфиксить такую ошибку?
tcc.js:84: error: TypeError: Result of expression 'input' [undefined] is not an object.
Она появляется при попытке линковки двух и более оbj-файлов в один ELF. Если линковать один obj-файлик, то всё норм.
Где-то в этих местах собака зарылась:
// tcc.js
function prepareLinker(project, product, inputs, outputs, input, output) {
var cmds = [];
var args = linkerFlags(project, product, inputs, outputs);
var linkerPath = input.cpp.linkerPath; // 'input' [undefined] is not an object.
var cmd = new Command(linkerPath, args);
cmd.description = "linking " + outputs.application[0].fileName;
cmd.highlight = "linker";
cmd.jobPool = "linker";
cmds.push(cmd);
return cmds;
}
// tcc.qbs
Rule {
id: linker
multiplex: true
inputs: ["obj"]
outputFileTags: ["application"]
outputArtifacts: [{
fileTags: ["application"],
filePath: FileInfo.joinPaths(product.destinationDirectory,
PathTools.applicationFilePath(product))
}];
prepare: Tcc.prepareLinker.apply(Tcc, arguments)
}
Исправление EXL, :
Опять я про QBS, случайно не знаете как подфиксить такую ошибку?
tcc.js:84: error: TypeError: Result of expression 'input' [undefined] is not an object.
Она появляется при попытке линковки двух и более оbj-файлов в один ELF. Если линковать один obj-файлик, то всё норм.
Где-то в этих местах собака зарылась:
// tcc.js
function prepareLinker(project, product, inputs, outputs, input, output) {
var cmds = [];
var args = linkerFlags(project, product, inputs, outputs);
var linkerPath = input.cpp.linkerPath; // 'input' [undefined] is not an object.
var cmd = new Command(linkerPath, args);
cmd.description = "linking " + outputs.application[0].fileName;
cmd.highlight = "linker";
cmd.jobPool = "linker";
cmds.push(cmd);
return cmds;
}
// tcc.qbs
Rule {
id: linker
multiplex: true
inputs: ["obj"]
outputFileTags: ["application"]
outputArtifacts: [{
fileTags: ["application"],
filePath: FileInfo.joinPaths(product.destinationDirectory,
PathTools.applicationFilePath(product))
}];
prepare: Tcc.prepareLinker.apply(Tcc, arguments)
}
Исходная версия EXL, :
Опять я про QBS, случайно не знаете как подфиксить такую ошибку?
tcc.js:84: error: TypeError: Result of expression 'input' [undefined] is not an object.
Она появляется при попытке линковки двух и более оbj-файлов в один ELF. Если линковать один obj-файлик, то всё норм.
Где-то в этих местах собака зарылась:
// tcc.js
function prepareLinker(project, product, inputs, outputs, input, output) {
var cmds = [];
var args = linkerFlags(project, product, inputs, outputs);
var linkerPath = input.cpp.linkerPath;
var cmd = new Command(linkerPath, args);
cmd.description = "linking " + outputs.application[0].fileName;
cmd.highlight = "linker";
cmd.jobPool = "linker";
cmds.push(cmd);
return cmds;
}
// tcc.qbs
Rule {
id: linker
multiplex: true
inputs: ["obj"]
outputFileTags: ["application"]
outputArtifacts: [{
fileTags: ["application"],
filePath: FileInfo.joinPaths(product.destinationDirectory,
PathTools.applicationFilePath(product))
}];
prepare: Tcc.prepareLinker.apply(Tcc, arguments)
}