检查文件夹是否存在并在 .pro 文件中创建文件夹

Wag*_*are 6 qt qmake

我必须在目标路径中创建一个文件夹并复制头文件。

所以我在 .pro 文件中使用了以下命令

 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))
    }
Run Code Online (Sandbox Code Playgroud)

它是第一次创建文件夹。但是在构建第二个时,我必须避免创建 spgc 文件夹(因为已经存在)。

如果 spgc 文件夹已经存在,qt build 也会抛出错误。

我试过

!exists($${DESTDIR_WIN_CELLTWEAK})
    {
        $$quote($${DESTDIR_WIN_CELLTWEAK})
        QMAKE_POST_LINK += $$quote(mkdir $${DESTDIR_WIN_CELLTWEAK} $$escape_expand(\n\t))
    }
Run Code Online (Sandbox Code Playgroud)

但即使文件夹存在, !exists() 函数也被调用并创建文件夹。

Wag*_*are 7

这就是我解决它的方法

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

我添加了 if 为空并在 else 中创建了目录