Closed 1821746019 closed 1 year ago
给个最小可复现的 完整工程 example
Bot detected the issue body's language is not English, translate it automatically.
Give a minimal reproducible complete project example
the project based on the qt.widgetapp . project.zip
是因为你路径里加了 #
, #Qt.Widget_pch
这会导致 gcc 生成的 .d 头文件依赖数据里面,会自动转义成 \#Qt.Widget_pch.h
build/.objs/SpeedPlayer/macosx/x86_64/release/cxx/\#Qt.Widget_pch.h.pch: \#Qt.Widget_pch.h
xmake 里面没去处理这个转义,所以会导致 \#Qt.Widget_pch.h
这个路径一直不存在,mtime 获取总是 0,就会一直触发 changed。
刚改了下,再试试 xmake update -s dev
Bot detected the issue body's language is not English, translate it automatically.
It is because you added
#
,#Qt.Widget_pch
to your path
This will cause the .d header files generated by gcc to rely on data, which will be automatically escaped into \#Qt.Widget_pch.h
build/.objs/SpeedPlayer/macosx/x86_64/release/cxx/\#Qt.Widget_pch.h.pch: \#Qt.Widget_pch.h
This escape is not handled in xmake, so the path \#Qt.Widget_pch.h
will never exist, and the mtime acquisition will always be 0, which will always trigger changed.
Just changed it, try xmake update -s dev
fixed.
Xmake Version
xmake v2.8.2+20230828
Operating System Version and Architecture
Linux Mint 21.2
Describe Bug
compile unchanged pch in every build on Linux.
Expected Behavior
compile pch only when it is changed.
Project Configuration
Additional Information and Error Logs