2017-05-24 9 views
0

Ich muss einen Ordner in meinem Zielpfad erstellen und kopieren Sie die Header-Dateien.Überprüfen Sie Ordner vorhanden und Ordner in .pro-Datei erstellen

so habe ich den folgenden Befehl in .proDatei

DESTDIR_WIN_CELLTWEAK = $${CORE_API_PATH}/Include/spgc/ 
    DESTDIR_WIN_CELLTWEAK ~= s,/,\\,g 
    QMAKE_POST_LINK += $$quote(mkdir $${DESTDIR_WIN_CELLTWEAK} $$escape_expand(\n\t)) 
    for(FILE,EXPORTED_HEADERS_WIN){ 
       QMAKE_POST_LINK +=$$quote(cmd /c copy /y $${FILE} $${DESTDIR_WIN_CELLTWEAK}&$$escape_expand(\n\t)) 
    } 

es den Ordner, in erstem Mal erstellt. aber auf dem zweiten Gebäude muss ich die Erstellung des spgc-Ordners vermeiden (wie es bereits existiert).

auch qt Build löst Fehler, wenn Spgc-Ordner bereits vorhanden sind.

ich versuchte

!exists($${DESTDIR_WIN_CELLTWEAK}) 
    { 
     $$quote($${DESTDIR_WIN_CELLTWEAK}) 
     QMAKE_POST_LINK += $$quote(mkdir $${DESTDIR_WIN_CELLTWEAK} $$escape_expand(\n\t)) 
    } 

aber auch wenn der Ordner vorhanden ist,! Exists() Funktion, um den Ordner mit dem Namen und der Erstellung wurde.

+1

Was ist, wenn Sie schreiben QMAKE_POST_LINK + = $$ Zitat (wenn nicht existiert $$ {DESTDIR_WIN_CELLTWEAK} mkdir $$ {DESTDIR_WIN_CELLTWEAK}) ' – vahancho

+0

ok ich werde überprüfen und aktualisieren. danke vahancho – Wagmare

+0

@vahancho: es ist nicht in der Funktion eingeben, auch der Ordner ist nicht vorhanden. – Wagmare

Antwort

0

dies ist, wie ich es gelöst

exists($$DESTDIR_WIN_CELLTWEAK) { 
     message("existing") 
    } else { 
      QMAKE_POST_LINK += $$quote(mkdir $${DESTDIR_WIN_CELLTWEAK} $$escape_expand(\n\t)) 
    } 

i mit leer, wenn hinzugefügt und in anderen erstellt das Verzeichnis

0

für vorkompilierte mkdir.commands = $(CHK_DIR_EXISTS) $${DESTDIR_WIN_CELLTWEAK} $(MKDIR) $${DESTDIR_WIN_CELLTWEAK} QMAKE_EXTRA_TARGETS += mkdir

für postbuild QMAKE_POST_LINK += $(CHK_DIR_EXISTS) $${DESTDIR_WIN_CELLTWEAK} $(MKDIR) $${DESTDIR_WIN_CELLTWEAK}

Linien hinzufügen zu .pro Datei

Verwandte Themen