Я пытаюсь определить версию библиотеки в qmake и на основе этого набора препроцессорной переменной. Я получаю номер версии (десятичное число), используя pkg-config, и хотел бы сравнить его с минимальной версией. Я могу использовать bc в сценарии оболочки для сравнения с плавающей запятой, но не могу заставить его работать с помощью $$ системы в qmake.Сравнение с плавающей запятой в qmake
LIBSTATGRAB_OLDAPI = $$system(echo "`pkg-config --modversion libstatgrab ` < 0.90 " | bc)
equals(LIBSTATGRAB_OLDAPI,"1") {
message("Using old libstatgrab API")
DEFINES += LIBSTATGRAB_OLD
}
Проблема заключается в том, что командная оболочка управляет $$ системы, кажется, интерпретировать < символ в кавычках как ReadFile команды и не конвейеру весь цитируемый блок до н.
sh: 1: cannot open 0.90: No such file
Как я могу обойти это?
Спасибо за хороший предложение! Он не работал с пробелами вокруг \\\\ n, и я изменил его на «0.90 \\\\ n'pkg-config --modversion libstatgrab'», чтобы проверить версию <0.90 вместо 0.90
user3293204