我正在尝试在应用程序中使用其他库的预编译模块。我使用 -fprebuilt-module-path= 指定 lib pcm-files 的路径并链接 *.so 文件,但收到下一个错误:
致命错误:模块“_Builtin_stddef_max_align_t”在“/home/user/.cache/clang/ModuleCache/1ZQ7RBKO4A6V0/_Builtin_stddef_max_align_t-1KLR31KNJ6263.pcm”和“/home/user/.cache/clang/ModuleCache/1VEVSXT4LZMYX/_Builtin”中定义_stddef_max_align_t -1KLR31KNJ6263.pcm'
如果我尝试清除缓存,则需要重建库,因为 pcm 文件取决于缓存。
如果我尝试指定非默认路径来缓存它也无法解决问题。
我想我必须使用一些特定的编译选项来解决它,但我不明白是哪个
也许是有人的脸?
P。 S. 抱歉,我没有找到解决此问题的简单重现器
您(与我类似)可能遇到了这个 Clang bug:https://github.com/llvm/llvm-project/issues/53231