【问题标题】:apache ignite 2.0 c++ on osx does not compileosx 上的 apache ignite 2.0 c++ 无法编译
【发布时间】:2019-07-10 14:40:23
【问题描述】:

我尝试编译 Apache Ignite 2.0 C++。我正在从目录/opt/apache-ignite-2.0.0-src/modules/platforms/cpp 运行 make。我已经编译了所有 Java 代码,并且可以正常启动 Apache Ignite。但是,C++ 无法编译。看来我必须通过 C++ 代码来解决问题。

我在运行 make 时遇到的错误是:

/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-recursive
Making all in common
Making all in include
make[3]: Nothing to be done for `all'.
Making all in os/linux/include
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in binary
Making all in include
make[3]: Nothing to be done for `all'.
  CXX      src/binary/binary_containers.lo
In file included from src/binary/binary_containers.cpp:18:
In file included from ./include/ignite/binary/binary_containers.h:30:
In file included from ./include/ignite/impl/binary/binary_writer_impl.h:35:
In file included from ./include/ignite/impl/binary/binary_object_impl.h:31:

./include/ignite/impl/binary/binary_reader_impl.h:986:58: error: variable has incomplete type 'ignite::binary::BinaryReader'
                            ignite::binary::BinaryReader reader(&readerImpl);
                                                         ^
./include/ignite/binary/binary_type.h:135:15: note: forward declaration of 'ignite::binary::BinaryReader'
        class BinaryReader;
          ^
In file included from src/binary/binary_containers.cpp:18:
In file included from ./include/ignite/binary/binary_containers.h:30:
./include/ignite/impl/binary/binary_writer_impl.h:702:54: error: variable has incomplete type 'ignite::binary::BinaryWriter'
                        ignite::binary::BinaryWriter writer(&writerImpl);
                                                     ^
./include/ignite/binary/binary_type.h:134:15: note: forward declaration of 'ignite::binary::BinaryWriter'
        class BinaryWriter;
          ^
2 errors generated.
make[3]: *** [src/binary/binary_containers.lo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

【问题讨论】:

    标签: c++ macos ignite


    【解决方案1】:

    好吧,OS X 的官方名称是not supported。您可能想写信给Apache Ignite user mailing list 请求某人帮助您。不过,请确保您在发送问题之前订阅,这样每个人都会看到您的邮件。

    【讨论】:

      【解决方案2】:

      这很可能是因为您使用 clang++ 编译 ignite。

      解释了原因本身 in a different SO question: Apache Ignite C++ 代码是错误的(它有一个错误),但碰巧一些编译器没有检测到并报告问题。

      一种解决方案(除了修改 ignite 源代码)是使用 g++。 OSX 的指令是in a different SO question

      【讨论】:

        猜你喜欢
        • 2017-10-09
        • 2020-07-06
        • 1970-01-01
        • 1970-01-01
        • 2015-05-12
        • 1970-01-01
        • 2019-03-15
        • 2013-06-23
        • 1970-01-01
        相关资源
        最近更新 更多