#macos #qt #octave
#macos #qt #octave
Вопрос:
Я установил библиотеку QT 4.8 в свою OS X путем прямой установки с помощью файла .dmg, загруженного с qt-project.org . Кажется, это рамочная версия. И до сих пор многие инструменты хорошо ее распознают. Но когда я создаю octave на этом компьютере, он выдает предупреждение «Библиотеки Qt не найдены». Интересно, почему. И что я могу сделать, чтобы он распознал библиотеку qt на моем компьютере.
Команда, которую я использовал для настройки
./configure --prefix=/usr/local --enable-shared F77=gfortran-4.2 LDFLAGS='-L/usr/local/lib'
(дополнительная информация)
Я пытался найти установку QT с
find find /Library/ -name QtGui
Возвращаемый результат
/Library//Frameworks/QtGui.framework/QtGui
/Library//Frameworks/QtGui.framework/Versions/4/Headers/QtGui
/Library//Frameworks/QtGui.framework/Versions/4/QtGui
Наряду с тем фактом, что ipython notebook --matplotlib=qt
она хорошо работает в моей системе, я предполагаю, что моя библиотека Qt успешно установлена.
Но при выполнении проверки с pkg-config
помощью , оба pkg-config --cflag QtGui
и pkg-config --libs QtGui
не возвращают положительного результата.
Ответ №1:
Убедитесь, что ваша установка Qt работает. Я предполагаю, что она была установлена правильно и видна в используемой вами операционной системе.
Вставленная configure
вами команда принимает две переменные среды, QT_CFLAGS
и QT_LIBS
. Используйте pkg-config
инструмент для определения их соответствующих значений:
pkg-config --cflags QtGui
pkg-config --libs QtGui
и добавьте эту информацию в командную строку:
./configure QT_CFLAGS='foo' QT_LIBS='bar' # other stuff...
Комментарии:
1. Я пробовал команды, но pkg-config не может найти QtGui. Но я попробовал
find Library -name QtGui
, есть несколько результатов/Library/Frameworks/QtGui.framework/
. Я думаю, что QtGui распознается системой, как и ранее, я использовал ipython notebook с qt, и он работает хорошо.2. @Chong, посмотри, сможешь ли ты найти
QtGui.pc
где-нибудь в файловой системе. Это файлpkg-config
, который будет искать.
Ответ №2:
Думаю, теперь я знаю ответ. qt-4.8, установленный через файл .dmg, является версией фреймворка. Qt*.pc
Файла нет, поэтому он не может быть найден pkg-config
. Итак, чтобы использовать pkg-config
для поиска qt, установленного в системе, вам необходимо собрать qt из исходного кода (исходный код можно загрузить с qt-project.org ), указывающий, что -no-framework
версия должна быть собрана:
./configure -no-framework --foo --bar
make
sudo make install
После сборки и установки qt будет находиться в (по умолчанию)
/usr/local/Trolltech/Qt-4.8.6/lib/pkgconfig/
Таким образом, добавляется строка в ~/.bashrc
export PKG_CONFIG_PATH="/usr/local/Trolltech/Qt-4.8.6/lib/pkgconfig/:${PKG_CONFIG_PATH}"
помогло pkg-config
бы найти qt в вашей системе.
Комментарии:
1. Спасибо, что поделились своими усилиями и ответом, это поможет будущим пользователям.
Ответ №3:
Если вы установили QT с помощью файла .run, вы можете найти папку pkgconfig . Что касается меня, я установил QT в «/opt / qt5.15.x /», и я нахожу этот путь «/opt/ qt5.15.x / 5.15.2/gcc_64 / lib / pkgconfig». Ссылаясь на pkg-config-path-environment-переменную, я добавляю ее в PKG_CONFIG_PATH с помощью
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/qt5.15.x/5.15.2/gcc_64/lib/pkgconfig/
А затем Octave configure находит QT. И лучше проверить файл .pc в вашей папке pkgconfig. «префикс» в файлах .pc может быть неправильным.