2009-08-17 13 views
6

Próbuję skompilować aplikację qt z qt4 sdk + narzędziami, które sprawdziliśmy na naszym serwerze kontroli źródła (p4). W szczególności przekonwertowałem plik projektu qt4 (.pro) do pliku projektu studyjnego visual, który jest poprawny pod względem składni i zaakceptowany przez VS.nadpisywanie ustawień czasu kompilacji qt4

Problem stanowi lokalizacja kompilatora zasobów i MOC. Qmake konfiguruje plik projektu studia wizualnego tak, aby wskazywał lokalizację na komputerze, na którym qt4 został pierwotnie zbudowany.

Kiedy sprawdzam źródło, biblioteki i pliki binarne, znajdują się one w innym miejscu. Istnieje wiele zmiennych środowiskowych, które wpływają na zachowanie qt4 + qmake, ale nie mogę znaleźć takiego, które pozwoli mi przesłonić lokalizację zasobów i kompilatorów mocy. Czy ktoś może pomóc?

Odpowiedz

0

pobierz !, qmake -query "QT_INSTALL_PREFIX" powie Ci, gdzie qt wierzy, że zostało zainstalowane. To może być zmieniony z „QMake -Set wartości zmiennej”

got to informacje z: http://doc.trolltech.com/4.5/qmake-environment-reference.html

Jeżeli zostały sprawdzone tam pierwszy naprawdę :-)

+2

to nie jest do końca poprawne, QMake „set” i komendy „query” pozwalają na ustawienie danych Persistant ale nie pozwalają QT zmienne instalacyjne zostać nadpisane, argh !, więc ustawienie QT_INSTALL_PREFIX na dowolną wartość nie będzie działać :-( –

2

Spójrz na QMAKESPEC informacji i mieć zajrzyj do niektórych dostępnych specyfikacji. W tym przypadku, dla common/linux.conf make ciemno, że zawiera następujące wiersze:

QMAKE_MOC    = $$[QT_INSTALL_BINS]/moc 
QMAKE_UIC    = $$[QT_INSTALL_BINS]/uic 

z tych, chciałbym założyć, można zmienić definicję zmiennej QT_INSTALL_BINS pkt do nowej lokalizacji. Alternatywnie można po prostu zastąpić zmienne QMAKE_MOC lub QMAKE_UIC, aby wskazać żądane pliki wykonywalne.

0

poprawne, equivilant lokalizacji na komputerze z systemem Windows jest w rejestrze: [HKEY_CURRENT_USER] \ Software \ Trolltech \ Versions \ 4,5 \ InstallDir

+0

Tradycyjnie ten rodzaj informacji będzie konfigurowany przez ustawienie zmiennej środowiskowej QTDIR, ale to zachowanie zostało zmienione w Qt4 –

0

utworzyć plik qt.conf z poprawną ścieżkę w katalogu bin Qt i upewnij się, że przekazałeś -nocache do qmake.

2

Zajrzałem do tego i znalazłem sposób, który działa (w qt 4.7.2), dostosowując qt do pliku qt.conf.

W moim przypadku, dodałem qt4-4.7.2/bin/qt.conf (myślę, że musi być w tym samym miejscu co plik wykonywalny QMake)

o następującej treści:

[Paths] 
Prefix = c:/my_path/to/qt4-4.7.2 

i qmake -query zaczęły zwracać właściwe ścieżki!

Patrz: http://doc.qt.nokia.com/stable/qt-conf.html więcej szczegółów