qmake - запросить внутренние настройки в Linux - где они? - PullRequest
3 голосов
/ 13 октября 2011

Я строю систему Linux с кросс-компилятором, используя ptxdist. Это позволяет мне настроить Qt4 для установки, и он собирает и устанавливает qt -where-opensource-src-4.6.3 Ok. Однако внутренние настройки qmake облажались, и я не знаю, как их исправить.

Когда я запускаю qmake -query, я получаю:

me@ubuntu:~$ qmake -query
QT_INSTALL_PREFIX:/
QT_INSTALL_DATA:/
QT_INSTALL_DOCS://doc
QT_INSTALL_HEADERS://include
QT_INSTALL_LIBS://lib
QT_INSTALL_BINS://bin
QT_INSTALL_PLUGINS://plugins
QT_INSTALL_TRANSLATIONS://translations
QT_INSTALL_CONFIGURATION:/etc/xdg
QT_INSTALL_EXAMPLES://examples
QT_INSTALL_DEMOS://demos
QMAKE_MKSPECS://mkspecs
QMAKE_VERSION:2.01a
QT_VERSION:4.6.3

Из некоторых исследований видно, что это можно исправить, просто перестроив Qt, но это не решает эту проблему. Я немного покопался в выводе сборки, и похоже, что команда ./configure для сборки Qt имеет "-prefix / usr", поэтому я не знаю, почему это не исправлено.

Я бы хотел исправить эти внутренние значения вручную, если это возможно, потому что сборка Qt занимает часы. Кто-нибудь знает, как это сделать?

Ответы [ 3 ]

3 голосов
/ 13 октября 2011

Во время конфигурирования эти пути жестко закодированы в 'src / corelib / global / qconfig.cpp' и в конечном итоге жестко закодированы в qmake при его сборке. Они также жестко запрограммированы во многих других файлах, как и все файлы .la и .pc, не говоря уже о правилах установки Makefile.

Единственный способ исправить это - выяснить, почему configure продолжает облажать префикс. configure - это большой сценарий оболочки, поэтому легко увидеть, где $ QT_INSTALL_PREFIX назначается из аргумента '-prefix', а затем различные проверки, которые выполняются для него (например, запуск его через 'config.tests / unix / makeabs') , Попробуйте поместить операторы печати до / после изменения $ QT_INSTALL_PREFIX, и вы сможете узнать, где путаются пути.

Кроме того, вам не нужно ждать завершения полной сборки, чтобы узнать, установлен ли префикс правильно. После запуска конфигурации, посмотрите в 'src / corelib / global / qconfig.cpp' и посмотрите, что для qt_configure_prefix_path_str установлено.

0 голосов
/ 26 сентября 2012

Вы можете вручную установить эти свойства с помощью

 qmake -set VARIABLE VALUE

Они хранятся с использованием QSettings , настроек встроенных постоянных приложений Qt.

см. Конфигурирование среды qmake

0 голосов
/ 13 октября 2011

Настройка скриптов может быть неясной в отношении слешей. Вы уверены, что префикс сборки - / usr, а не / usr /.

...