2011-10-13 2 views
3

ptxdist를 사용하여 크로스 컴파일러가있는 Linux 시스템을 구축하고 있습니다. 설치를 위해 Qt4를 구성 할 수 있으며 qt-everywhere-opensource-src-4.6.3을 빌드하고 설치합니다. 그러나 qmake 내부 설정이 엉망이되어 수정 방법을 모르겠습니다. 이 단순히 Qt를 재건 해결할 수 있습니다와 같은 몇 가지 조사를 통해qmake - Linux의 쿼리 내부 설정 - 어디입니까?

[email protected]:~$ 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 

, 그것은 보이지만,이 문제를 해결 아니에요 : 나는 qmake를 - 쿼리를 실행하면

내가 얻을. Qt 빌드에 대한 ./configure 명령은 "-prefix/usr"을 가지고 있으므로 이것이 고정적이지 않은 이유를 모르겠습니다.

Qt 빌드에 몇 시간이 걸리기 때문에 가능하면이 내부 값을 수동으로 수정하고 싶습니다. 누구든지이 작업을 수행하는 방법을 알고 있습니까?

답변

3

구성시이 경로는 'src/corelib/global/qconfig.cpp'에 하드 코드되고 빌드 될 때 qmake로 하드 코드됩니다. 또한 Makefile 설치 규칙은 말할 것도없고 모든 .la 및 .pc 파일과 같은 다른 많은 파일로 하드 코드됩니다.

이 문제를 해결할 수있는 유일한 방법은 구성이 접두사를 계속 망가 뜨리는 이유를 파악하는 것입니다. configure는 큰 쉘 스크립트이므로 '-prefix'인수에서 $ QT_INSTALL_PREFIX가 할당 된 곳을 쉽게 볼 수 있으며 'config.tests/unix/makeabs'를 통해 실행하는 것과 같은 다른 검사가 수행됩니다. . $ QT_INSTALL_PREFIX가 변경되기 전/후에 print 문을 넣으십시오. 경로가 엉망이 된 부분을 찾을 수 있어야합니다.

또한 접두어가 으로 올바르게 설정되었는지 확인하기 위해 전체 빌드가 완료 될 때까지 기다릴 필요가 없습니다. configure를 실행 한 후 'src/corelib/global/qconfig.cpp'에서 'qt_configure_prefix_path_str'가 무엇으로 설정되어 있는지 확인하십시오.

+1

감사를 참조 -이 정확한 정보를 찾기 위해 노력하고 시간 봤. 필자는 OS 레벨에서 이러한 값을 구성 할 수 없도록하는 것이 바보 같다고 생각합니다. 그것은 1990 년입니다. 나는 그들이 그들의 이유가 있어야한다고 생각합니다. – PIntag

+0

아, 아직도 ptxdist가 Qt의 호스트 빌드를 다시 빌드하고 설치하는 방법을 알아야합니다. 문제는 내가 ptxdist 구성을 실행하고 빌드 할 때 Qt의 타겟 빌드 만 재 구축한다는 것입니다. – PIntag

0

구성 스크립트는 슬래시에 대해 흐릿하게 나타날 수 있습니다. 빌드 접두어가/usr이 아니라/usr인지 확인하십시오.

0

수동 그들은 QSettings 사용하여 저장됩니다

qmake -set VARIABLE VALUE 

를 사용하여 이러한 속성을 설정할 수 있으며, Qt는 내장 지속적인 응용 프로그램 설정.

Configuring qmake's Environment