在 ac-docker win10 中编译时出现构建错误,要求重建编译头,因为自预编译头以来文件已被修改

build errors when compiling in ac-docker win10 asking to rebuild compiled header since a file has been modified since the precompiled header

这里是一些错误的副本,但在 post 中列出的错误太多了,可能总共有 50 个都是相同的错误,只是文件名不同

fatal error: file '/azerothcore/src/server/game/Entities/GameObject/GameObject.h' has been modified since the precompiled header '/azerothcore/var/build/obj/src/server/game/CMakeFiles/game.dir/cmake_pch.hxx.pch' was built: size changed
note: please rebuild precompiled header '/azerothcore/var/build/obj/src/server/game/CMakeFiles/game.dir/cmake_pch.hxx.pch'
1 error generated.
make[2]: *** [src/server/game/CMakeFiles/game.dir/build.make:154: src/server/game/CMakeFiles/game.dir/AI/CoreAI/GuardAI.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....

我如何执行此步骤并在 docker 构建的 ac 中重建我的预编译头文件?我的世界数据库的大小也在不断膨胀,自从 2021 年 10 月 11 日的最新文件以来,从 8gb 到 16gb 再到 28gb

我能够解决我的问题的唯一方法是以个人为代价,花费数小时创建如此多的自定义内容,结果却丢失了。我重建了一个干净的服务器,然后只导入了我的 AUTH 和 CHARACTER 数据库,问题解决了。构建 100% 按预期工作,但必须缓慢而痛苦地重做我在 WORLD 数据库中完成的所有自定义工作。

可能是因为ccache的原因,ccache是​​可以让你编译速度超快的缓存,但是有时候header缓存会因为变化量大而失效,必须清理。

那么,请试试这个:

./acore.sh docker dev:dash compiler ccacheClean

它应该清理ccache,然后你可以重新开始编译

PS数据库大小的问题与MySQL的配置有关。 InnoDB通常会存储大量需要清理的Binglog。但是请为此打开一个单独的问题。 AC 提供默认 MySQL 配置,系统管理员应根据需要对其进行调整