Сборка qbs: TypeError: результат выражения 'lib' [undefined] не является объектом

У меня странная проблема:

  1. У меня есть встроенный в cmake подмодуль, который будет создавать некоторые статические библиотеки (с именами A1, A2, A3) (я следовал здесь)
  2. Я пишу некоторый исходный код, чтобы обернуть A, а затем собрать его как статическую библиотеку B с помощью qbs.
  3. У меня есть программа C, которая зависит от B для запуска тестирования.

Когда я строю с помощью командной строки qbs, все работает хорошо. Однако, когда я собираю Qt Creator 4.3.1, он сообщает: creating libB.a TypeError: Result of expression 'lib' [undefined] is not an object The following product could not be built for configuration qtc_Desktop_de89834-debug: C Я нажимаю на ошибку, она ссылается на Qt/Qt Creator.app/Contents/Resources/qbs/share/qbs/modules/cpp/gcc.js ( строка 379). Я попытался войти в журнал, добавив еще строку журнала (например, console.warn(libraryDependencies.libraries), затем он выводит массив библиотек: libA1.a,libA2.a,libA3.a,libB.a,, Я не знаю, почему в конце появляется пустая. Упомяните, что A1, A2, A3 и B достаточно для сборки C.

Может ли кто-нибудь здесь просто помочь? Я использую Qt 5.9.1 на MacOS

Обновления: все работает на Qt Creator 4.5, поэтому я просто перехожу на Qt Creator 4.5 :))


person thamht4190    schedule 09.03.2018    source источник


Ответы (1)


Да, Qt Creator 4.3, а также содержащаяся в нем версия qbs (1.,8) больше не поддерживаются, поэтому нет особого смысла исследовать это дальше. Обновление - правильное решение.

person Christian Kandeler    schedule 09.03.2018