2012-02-21 12 views
20

W moim projekcie Qt próbuję skopiować biblioteki w ramach procesu kompilacji. Celem jest posiadanie gotowej dystrybucji po kompilacji ze wszystkimi niezbędnymi bibliotekami dynamicznymi.Jak określić wejście zmiennej QMake INSTALLS?

Wydaje acheivable ze zmienną instaluje, ale znaleźć w dokumentacji nieco cienkie: qmake Variable Reference: INSTALLS

W podanym przykładzie:

  • Czy target już zdefiniowany, czy jest definiowana przez pisanie target.path =?
  • Gdzie jest dokumentacja dla potencjalnych członków? .path i ...?
+0

Wygląda jak "cel" jest zdefiniowany w przykładzie. Dane wyjściowe w pliku makefile są definicją 'install_target'. Wystąpiły błędy związane ze zmiennymi referencyjnymi. –

Odpowiedz

22

Tak, doktorzy mają wiele do życzenia.

target jest już zdefiniowany, ale jest to przypadek specjalny. Możesz zdefiniować własne dodatkowe zestawy wdrożeniowe. Oto w jaki sposób możemy określić wtyczek Format obrazu:

imageformats.path = /opt/some/path/bin/imageformats 
imageformats.files += $$[QT_INSTALL_DATA]/plugins/imageformats/*.so 
INSTALLS += imageformats 

Oto minimalne dokumentację o trzech komend: http://doc.qt.io/qt-4.8/qmake-environment-reference.html#installs

yourset.path = /path/in/which/to/install/files 
yourset.files = /files/to/install 
yourset.extra = custom commands to run, eg. `touch somefile.txt` 
INSTALLS += yourset 
9

target jest cokolwiek ciąg chcesz użyć. To jest twój własny identyfikator.

target.files określa, co chcesz zainstalować.

target.path jest lokalizacja (katalogu), które chcesz umieścić w target.files.

Na przykład, powiedzmy, że mam plik o nazwie „config.xml”, że chcę, aby skopiować do katalogu „xyzzy”. Chciałbym użyć następujących w moim qmake .pro pliku, aby to określić.

my_file.files = config.xml 
my_file.path = xyzzy 

INSTALLS += my_file 

BTW, aby rzeczywiście zrobić kopię pliku, trzeba będzie wykonać make install.

Możesz również znaleźć odpowiedź pomocną w zrozumieniu: Copy a file to build directory.

+0

Dzięki za link. Jest poprawna składnia '% {buildDir}' lub tylko do zilustrowania. Próbowałem, ale w Qt Creator wyrażenie nigdy nie jest oceniane :( –

+0

@eriktheblond Przykład w odnośniku zakłada, że ​​'buildDir' został już zdefiniowany gdzieś w pliku qpro .pro (tzn.' BuildDir = a/b/c') – jwernerny

+0

@jwernerny Dobra odpowiedź, z wyjątkiem celu, jest w rzeczywistości "wbudowana" i nieco wyjątkowa, nie jest tym, czego chcesz użyć.Jest ona skorelowana z TARGET. Zobacz - https://qt-project.org/doc/qt- 4.8/qmake-environment-reference.html # installs. – spinkus

Powiązane problemy