尝试使用模块构建c++20应用程序

问题描述 投票:0回答:1

我正在尝试在应用程序中使用其他库的预编译模块。我使用 -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. 抱歉,我没有找到解决此问题的简单重现器

c++ module c++20 clang++ c++-modules
1个回答
0
投票

您(与我类似)可能遇到了这个 Clang bug:https://github.com/llvm/llvm-project/issues/53231

© www.soinside.com 2019 - 2024. All rights reserved.