История изменений
Исправление EXL, (текущая версия) :
Кажись решил, вот что было:
diff -Nuar qbs/modules/cpp/tcc.js qbs1/modules/cpp/tcc.js
--- qbs/modules/cpp/tcc.js 2022-12-07 09:12:26.221224200 +0700
+++ qbs1/modules/cpp/tcc.js 2023-01-15 17:43:55.440539000 +0700
@@ -69,7 +69,7 @@
function prepareCompiler(project, product, inputs, outputs, input, output, explicitlyDependsOn) {
var cmds = [];
var args = compilerFlags(project, product, input, outputs, explicitlyDependsOn);
- var compilerPath = input.cpp.compilerPath;
+ var compilerPath = product.cpp.compilerPath;
var cmd = new Command(compilerPath, args);
cmd.description = "compiling " + input.fileName;
cmd.highlight = "compiler";
@@ -81,7 +81,7 @@
function prepareLinker(project, product, inputs, outputs, input, output) {
var cmds = [];
var args = linkerFlags(project, product, inputs, outputs);
- var linkerPath = input.cpp.linkerPath;
+ var linkerPath = product.cpp.linkerPath;
var cmd = new Command(linkerPath, args);
cmd.description = "linking " + outputs.application[0].fileName;
cmd.highlight = "linker";
Не знаю, правда, правильно это или нет. У вас была опечатка в модуле qbs для tcc или нет. В статье Катаем «смоляной шарик» или создание собственных правил сборки с помощью Qbs нашёл такую инфу:
Параметры input и output не определены (undefined), если для этого правила имеется несколько артефактов ввода (и вывода соответственно). Служат они как синтаксический сахар: input = inputs[0] и output = outputs[0] и являются списками с одним элементом.
Исходная версия EXL, :
Кажись решил, вот что было:
diff -Nuar qbs/modules/cpp/tcc.js qbs1/modules/cpp/tcc.js
--- qbs/modules/cpp/tcc.js 2022-12-07 09:12:26.221224200 +0700
+++ qbs1/modules/cpp/tcc.js 2023-01-15 17:43:55.440539000 +0700
@@ -69,7 +69,7 @@
function prepareCompiler(project, product, inputs, outputs, input, output, explicitlyDependsOn) {
var cmds = [];
var args = compilerFlags(project, product, input, outputs, explicitlyDependsOn);
- var compilerPath = input.cpp.compilerPath;
+ var compilerPath = product.cpp.compilerPath;
var cmd = new Command(compilerPath, args);
cmd.description = "compiling " + input.fileName;
cmd.highlight = "compiler";
@@ -81,7 +81,7 @@
function prepareLinker(project, product, inputs, outputs, input, output) {
var cmds = [];
var args = linkerFlags(project, product, inputs, outputs);
- var linkerPath = input.cpp.linkerPath;
+ var linkerPath = product.cpp.linkerPath;
var cmd = new Command(linkerPath, args);
cmd.description = "linking " + outputs.application[0].fileName;
cmd.highlight = "linker";
Не знаю, правда, правильно это или нет. У вас была опечатка или нет. В статье Катаем «смоляной шарик» или создание собственных правил сборки с помощью Qbs нашёл такую инфу:
Параметры input и output не определены (undefined), если для этого правила имеется несколько артефактов ввода (и вывода соответственно). Служат они как синтаксический сахар: input = inputs[0] и output = outputs[0] и являются списками с одним элементом.