У меня есть этот код в моем QMAKE (.pro) файл:команда Qt QMAKE_POST_LINK получает искаженное
# 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
Поэтому в основном то, что это пытается достигнуть, скопировать все из/ресурсов/...
следующий результат я получаю. Первая строка - это функция message(), отображающая точно команду, которую я добавляю в QMAKE_POST_LINK (за исключением того, что я называю ее copy1 вместо копии). Затем я вижу, что правильная копия ... строка печатается системой, поэтому я вижу, что она выглядит правильно. Но потом я вижу ошибку, которая показывает, что \resources\*
стал \resources*
и, кажется, потерял последние \
Я не знаю почему. Я пытался быть DILLIGENT с моим / and \\
...
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.
Можно ли предположить, почему это происходит? Обратите внимание, что если я копирую вставку того же выхода (как в моем прокомментированном коде), он работает, и конец не искажается.
Попробуйте использовать простые '/' пути, большинство инструментов Windows справляются с ними правильно. – Mat
Попробуйте использовать '$$ system_path (...)' вместо вашего agly 'replace' – Evgeny
Также используйте' $$ QMAKE_COPY' вместо 'copy' – Evgeny