Я пытался скомпилировать Apache Ignite 2.0 C ++. Я запускаю make из каталога /opt/apache-ignite-2.0.0-src/modules/platforms/cpp
, Я уже скомпилировал весь код 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
Ну, OS X есть не поддерживается официально. Вы можете написать Apache Ignite пользовательский список рассылки попросить кого-нибудь помочь вам. Убедитесь, что вы подписались, прежде чем отправлять свой вопрос, чтобы все увидели вашу почту.
Это наиболее вероятно, потому что вы используете clang ++ для компиляции воспламенения.
Сама причина объясняется
в другом вопросе ТАК: код Apache Ignite C ++ неверен (в нем есть ошибка), но бывает, что некоторые компиляторы не обнаруживают и не сообщают о проблеме.
Одним из решений (помимо изменения исходного кода воспламенения) было бы использование g ++. Инструкция для OSX есть в другом вопросе ТАК.