LINUX.ORG.RU

История изменений

Исправление 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] и являются списками с одним элементом.