“xtime: ambiguous symbol”错误,包括 <boost/asio.hpp> [关闭]
Posted
技术标签:
【中文标题】“xtime: ambiguous symbol”错误,包括 <boost/asio.hpp> [关闭]【英文标题】:"xtime: ambiguous symbol" error, when including <boost/asio.hpp> [closed] 【发布时间】:2021-05-25 13:17:31 【问题描述】:正如标题中所说,当我尝试从 boost 中包含 asio.hpp 时,我收到此错误:
'xtime': ambiguous symbol (compiling source file FILEPATH)
note: could be 'xtime' (compiling source file FILEPATH)
or 'boost::xtime' (compiling source file FILEPATH)
我已经读到这个问题可以与 "using namespace" 联系起来,但是在我的项目中删除所有这些语句后仍然会弹出错误。你知道除了“使用命名空间”还有什么会导致这个问题吗?
【问题讨论】:
请提取minimal reproducible example,以及为编译代码而发出的确切命令。此外,提供相关工具和软件的确切版本。顺便说一句:检查 Boost 错误跟踪系统,你可能已经发现了一个错误。 @UlrichEckhardt 遗憾的是,在我的情况下很难给出确切的例子,因为我在巨大的商业应用程序中不断遇到这个错误。我知道我链接的来源有点差,所以我可能不得不自己处理。无论如何感谢您的回答。 FILEPATH 将成为关键信息。如果它是一个 boost 标头,您可能会在 boost include 或文件您遇到此问题的错误之后重新排序冲突的包含。如果是您自己的代码,(a) 停止使用using namespace
和/或 (b) 限定您对 xtime
的使用。
@sehe 您的回答实际上解决了我的问题。 FILEPATH 是我自己的文件之一,但无论如何我都尝试重新排序包含在其中的文件并且它有效!非常感谢!
【参考方案1】:
正如 cmets 中提到的sehe,重新排序 FILEPATH 中的包含语句已经解决了这个问题。
【讨论】:
以上是关于“xtime: ambiguous symbol”错误,包括 <boost/asio.hpp> [关闭]的主要内容,如果未能解决你的问题,请参考以下文章