4

ここで述べたように実行: https://stackoverflow.com/a/7810877/630169ただし、make は次のように述べています。

make: `install' は何もしません。

そして、ビルドディレクトリには何もコピーされませんでした。Pro ファイルには次の行が含まれています。

wav_files.path = %{buildDir}
wav_files.files += %{sourceDir}/hurray.wav

INSTALLS += wav_files
4

1 に答える 1

3

追加のランタイム ファイルをビルド パスとインストール先にコピーするために使用しているものは次のとおりです。

  1. ここでファイルを定義します。

    ## === define copy files for installation and build ===
    
    copytarget.path    = /path/to/installation
    copytarget.files  += $$files(example/filename*)
    ## wildcard for filename1 filename2 filename3 ...
    
    message("found files for copytarget: "$$copytarget.files)
    
  2. qmake コンパイラを追加する必要があります。

    ## === os specific dir separator ===
    
    win32: copytarget.files ~= s,/,\\,g
    
    
    ## === copy compiler for makefile ===
    
    DirSep = /
    win32: DirSep = \\
    
    for(f,copytarget.files) tmp += $$PWD$$DirSep$${f} ## make absolute paths
    copycompiler.input        = tmp
    
    isEmpty(DESTDIR):DESTDIR=.
    copycompiler.output       = $$DESTDIR$$DirSep${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
    
    copycompiler.commands     = $(COPY_FILE) ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT}
    
    copycompiler.CONFIG       = no_link no_clean
    ## other CONFIG options are: depends explicit_dependencies target_predeps
    
    copycompiler.variable_out = QMAKE_DISTCLEAN
    QMAKE_EXTRA_COMPILERS += copycompiler
    
  3. 別のメイクファイル ターゲット:

    ## == makefile copy target ===
    copyfiles.recurse_target = compiler_copycompiler_make_all
    copyfiles.depends        = $$copyfiles.recurse_target
    copyfiles.CONFIG        += recursive
    
  4. ソース ビルド ステップの後にターゲットを追加します。

    QMAKE_EXTRA_TARGETS += copyfiles
    POST_TARGETDEPS     += copyfiles ## copy files after source compilation
    
  5. インストール先にランタイム ファイルを含める

    INSTALLS += copytarget
    
于 2013-11-07T12:17:54.603 に答える