gpt4 book ai didi

c++ - openfoam: flex yyin.rdbuf(std::cin.rdbuf() 错误

转载 作者:太空狗 更新时间:2023-10-29 21:16:41 27 4
gpt4 key购买 nike

我想报告一个错误的解决方案在 Mac OS X El Capitan 版本 10.11.2 中安装 OpenFOAM 3.0.1 时得到错误是:

"error: member reference type 'std::istream *' (aka 'basic_istream *') is a pointer; maybe you meant to use '->'? yyin.rdbuf(std::cin.rdbuf());"

此问题与 flex version 2.6.0 有关。我使用 macports 安装的。

我可以通过使用位于 /usr/bin/flex 的“flex 2.5.35 Apple(flex-31)”(而不是 /opt/local/flex).

只需将文件中的“flex”更改为“/usr/bin/flex”$(WM_DIR)/rules/General/flex++您的 openfoam 源代码分发。

最佳答案

我认为这可能是一个迟到的答案,但我相信问题是不同步的“FlexLexer.h”。 Flex 2.6.0 更改了 header 和生成源的 C++ 扫描器的 yyin 存储的存储定义。但是我想 mac 端口包包含一个过时的 FlexLexer.h,即使 flex 本身已经更新。这会导致您将不匹配视为编译错误。

无需降级 flex 安装,您可以只使用更新的“FlexLexer.h”(例如来自此处的:https://github.com/westes/flex/blob/master/src/FlexLexer.h)

关于c++ - openfoam: flex yyin.rdbuf(std::cin.rdbuf() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34438023/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com