2011-02-10 14 views
6

Próbuję wdrożyć aplikację przy użyciu macdeployqt. Wszystkie frameworki Qt zostaną poprawnie skopiowane do pakietu aplikacji. Problem, który napotykam, polega na tym, że macdeployqt nie ma uprawnień do zapisu w skopiowanych frameworkach, które pierwotnie znajdowały się w katalogu/usr/local/lib. To dlatego, że zainstalowałem qt przy użyciu homebrew, który wydaje się, że instaluje wszystko tylko do odczytu. Moje pytanie brzmi, czy istnieje lepszy sposób na rozwiązanie tego problemu, a następnie ręczne zmienianie wszystkich uprawnień bibliotek qt w/usr/local/lib, aby móc używać macdeployqt z projektu qt .pro. (Nie chcę używać macdeployqt ręcznie z sudo lub podobnym)macdeployqt na architekturze homebrew zainstalowanych

Powodem, dla którego pytam jest to, że używam wielu bibliotek stron trzecich w projekcie (są one kopiowane w porządku itd.), Które muszę aktualizuj często przez homebrew i tym samym ponawiaj uprawnienia zmieniające się na nich.

Z góry dziękuję!

+0

Biblioteki bibliotek My Qt są własnością mojego lokalnego użytkownika i grupy. Zaleciłbym zmianę twojego na taki sam i zrób to, ponieważ nigdy nie miałem z tym problemów. – TheDarkKnight

+0

@ Merlin069, Stoję w obliczu tego samego problemu, znalazłeś odpowiedź? –

+0

jeśli twoja aplikacja jest zależna od homebrew i instalowania qt, dlaczego miałbyś się martwić o skopiowanie zależności do twojego .app? Czy nie powinny one zostać rozwiązane przez instalację homebrew? – phyatt

Odpowiedz

1

Tylko w przypadku, gdy ktoś znajdzie ten stary słupek szukasz informacji o macdeployqt:

użyć skryptu do zrobienia macdeployqt zamiast do skryptowy macdeployqt poleceń w pliku .pro. To pozwoli ci zmienić uprawnienia do plików w locie.

Oto [urywek] skrypt używać do jednej z moich aplikacji:

https://bugreports.qt-project.org/browse/QTBUG-23268

Jeśli używasz systemu Windows i nie mają bash, można użyć Perl lub Python. Powyższy skrypt modyfikuje pliki w locie w celu obejścia błędu - możesz umieścić tutaj wszystko, co chcesz, w tym zmienić uprawnienia do plików.

Korzystanie ze skryptu oznacza także, że możesz później dodawać polecenia, aby podpisywać kod, pakować lub cokolwiek innego.

"Język skryptowy Qt .pro" faktycznie generuje polecenia Makefile pod maską i może być dość niejasny, jeśli chcesz wykonać zadania związane z rozmieszczaniem ścieżek i zestawów plików.

Musisz również utworzyć dodatkowy cel lub dołączyć go do celu kompilacji - tak czy inaczej proces kompilacji staje się bardziej złożony i bardziej podatny na błędy.

Nota prawna: Pracowałem w Qt przez 8 lat jako starszy inżynier w firmie Nokia/Trolltech, a także opublikowałem komercyjną aplikację wieloplatformową z wykorzystaniem Qt.

+0

Link https://bugreports.qt-project.org/browse/QTBUG-23268 jest uszkodzony. –