我需要在目标路径中创建一个文件夹并复制头文件。
因此,我在.pro文件中使用了以下命令。
即使该文件夹已存在,也会调用!exists()函数并创建该文件夹。
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))
}
第一次创建文件夹,但在第二次构建时,我需要避免创建 spgc 文件夹(因为已经存在)。
此外,如果 spgc 文件夹已经存在,则 Qt 构建会抛出错误。
我尝试过:
!exists($${DESTDIR_WIN_CELLTWEAK})
{
$$quote($${DESTDIR_WIN_CELLTWEAK})
QMAKE_POST_LINK += $$quote(mkdir $${DESTDIR_WIN_CELLTWEAK} $$escape_expand(\n\t))
}
即使该文件夹已存在,也会调用!exists()函数并创建该文件夹。
QMAKE_POST_LINK += $$quote(if not exists $${DESTDIR_WIN_CELLTWEAK} mkdir $${DESTDIR_WIN_CELLTWEAK})
,会发生什么? - vahanchoqmake
的语法,但是想法是使用以下批处理命令:if not exists my_dir mkdir my_dir
。这样只有在my_dir
不存在时才会创建它。 - vahancho