gpt4 book ai didi

c++ - Qt QMAKE_POST_LINK 命令被破坏

转载 作者:行者123 更新时间:2023-11-28 00:07:28 25 4
gpt4 key购买 nike

我的 qmake (.pro) 文件中有这段代码:

# Make sure all the slashes are in the correct direction for windows
SOURCE_DIR = $${replace(_PRO_FILE_PWD_, /, \\)}\\resources\\*
TARGET_DIR = $${replace($$quote(DESTDIR), /, \\)}
message (copy1 $$SOURCE_DIR $$TARGET_DIR /y)
QMAKE_POST_LINK += copy $$SOURCE_DIR $$TARGET_DIR /y

# vvv THIS WORKS, BUT IS COMMENTED OUT vvv
#message (copy2 C:\\Users\\adadacha\\Desktop\\audioTest\\resources\\* C:\\Users\\adadacha\\Desktop\\build-TGW2AudioTest-Desktop_Qt_5_5_1_MinGW_32bit-Debug\\targetDbg /y)
#QMAKE_POST_LINK += copy C:\\Users\\adadacha\\Desktop\\audioTest\\resources\\* C:\\Users\\adadacha\\Desktop\\build-TGW2AudioTest-Desktop_Qt_5_5_1_MinGW_32bit-Debug\\targetDbg /y

所以基本上这试图实现的是从/resources/...复制所有内容

以下是我得到的输出。第一行是一个 message() 函数,准确显示我添加到 QMAKE_POST_LINK 的命令(除了我称它为 copy1 而不是 copy)。然后我看到系统打印了正确的 copy... 行,所以我可以看到它看起来是正确的。但后来我看到一个错误,它显示 \resources\* 已成为 \resources* 并且似乎丢失了最后一个 \ 我不知道不知道为什么。我努力勤奋地使用我的 /和\\...

Project MESSAGE: copy1 C:\Users\adadacha\Desktop\audioTest\resources\* C:\Users\adadacha\Desktop\build-TGW2AudioTest-Desktop_Qt_5_5_1_MinGW_32bit-Debug\targetRel /y
:
copy C:\Users\adadacha\Desktop\audioTest\resources\* C:\Users\adadacha\Desktop\build-TGW2AudioTest-Desktop_Qt_5_5_1_MinGW_32bit-Debug\targetDbg /y
Makefile.Debug:167: recipe for target 'targetDbg/TGW2-AudioTest.exe' failed
process_begin: CreateProcess(NULL, copy C:\Users\adadacha\Desktop\audioTest\resources* C:\Users\adadacha\Desktop\build-TGW2AudioTest-Desktop_Qt_5_5_1_MinGW_32bit-Debug\targetDbg /y, ...) failed.
make (e=2): The system cannot find the file specified.

谁能解释为什么会这样?请注意,如果我复制粘贴相同的输出(如在我注释掉的代码中),它会起作用并且结尾不会被破坏。

最佳答案

尝试使用$$system_path(...) 函数而不是您敏捷的replace。这会关心您的系统路径。

也可以使用 $$QMAKE_COPY 而不是 copy。这是使用 qmake 复制文件的平台独立方式。

关于c++ - Qt QMAKE_POST_LINK 命令被破坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34722935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com