Как скомпилировать и запустить новый проект C ++ Actor Framework?

Я использую Ubunutu. Я установил CAF от GitHub. Я следую пошаговой инструкции: https://actor-framework.readthedocs.io/en/stable/FirstSteps.html

Я хочу скомпилировать и запустить файл hello world. Никаких конкретных указаний для компиляции не приводится.
Я сделал только g ++ hello_world.cpp -std = c ++ 11

Но у меня очень длинное сообщение об ошибке. (я вырезал середину сообщения, в противном случае это долго)

Обратите внимание, я не думаю, Что такое неопределенная ссылка / неразрешенная внешняя ошибка символа и как ее исправить? полезно в моем случае. Я не изменил привет. Я думаю, что это может быть что-то, что не установлено на моем компьютере, или что-то подобное.

Кто-нибудь может сказать мне, как решить проблему?

g++ hello_world.cpp -std=c++11
/tmp/ccbpYkaB.o : Dans la fonction « mirror(caf::event_based_actor*)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const » :
hello_world.cpp:(.text+0x16a) : référence indéfinie vers « caf::aout(caf::local_actor*) »
hello_world.cpp:(.text+0x182) : référence indéfinie vers « std::endl(caf::actor_ostream&) »
/tmp/ccbpYkaB.o : Dans la fonction « hello_world(caf::event_based_actor*, caf::actor const&)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const » :
hello_world.cpp:(.text+0x305) : référence indéfinie vers « caf::aout(caf::local_actor*) »
hello_world.cpp:(.text+0x31d) : référence indéfinie vers « std::endl(caf::actor_ostream&) »
/tmp/ccbpYkaB.o : Dans la fonction « main » :
hello_world.cpp:(.text+0x443) : référence indéfinie vers « caf::actor_system_config::actor_system_config() »
hello_world.cpp:(.text+0x45c) : référence indéfinie vers « caf::actor_system::actor_system(caf::actor_system_config&) »
hello_world.cpp:(.text+0x4cc) : référence indéfinie vers « caf::actor_system::~actor_system() »
hello_world.cpp:(.text+0x4db) : référence indéfinie vers « caf::actor_system_config::~actor_system_config() »
hello_world.cpp:(.text+0x517) : référence indéfinie vers « caf::actor_system::~actor_system() »
hello_world.cpp:(.text+0x52b) : référence indéfinie vers « caf::actor_system_config::~actor_system_config() »
/tmp/ccbpYkaB.o : Dans la fonction « void caf::response_handle<caf::event_based_actor, caf::message, false>::then_impl<hello_world(caf::event_based_actor*, caf::actor const&)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>(hello_world(caf::event_based_actor*, caf::actor const&)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}&) const » :
hello_world.cpp:(.text+0x6bb) : référence indéfinie vers « caf::scheduled_actor::add_multiplexed_response_handler(caf::message_id, caf::behavior) »
/tmp/ccbpYkaB.o : Dans la fonction « caf::trivial_match_case<mirror(caf::event_based_actor*)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::~trivial_match_case() » :
hello_world.cpp:(.text+0x974) : référence indéfinie vers « caf::match_case::~match_case() »
/tmp/ccbpYkaB.o : Dans la fonction « caf::detail::default_behavior_impl<std::tuple<caf::trivial_match_case<mirror(caf::event_based_actor*)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}> > >::default_behavior_impl<{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>({lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}&&) » :
hello_world.cpp:(.text+0xadd) : référence indéfinie vers « caf::detail::behavior_impl::behavior_impl(caf::duration) »
hello_world.cpp:(.text+0xb3d) : référence indéfinie vers « caf::detail::behavior_impl::~behavior_impl() »
/tmp/ccbpYkaB.o : Dans la fonction « caf::trivial_match_case<mirror(caf::event_based_actor*)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::trivial_match_case({lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}) » :
hello_world.cpp:(.text+0xc69) : référence indéfinie vers « caf::match_case::match_case(unsigned int) »
/tmp/ccbpYkaB.o : Dans la fonction « caf::trivial_match_case<hello_world(caf::event_based_actor*, caf::actor const&)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::~trivial_match_case() » :
hello_world.cpp:(.text+0xed8) : référence indéfinie vers « caf::match_case::~match_case() »
/tmp/ccbpYkaB.o : Dans la fonction « caf::detail::default_behavior_impl<std::tuple<caf::trivial_match_case<hello_world(caf::event_based_actor*, caf::actor const&)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}> > >::default_behavior_impl<{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>({lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}&&) » :
hello_world.cpp:(.text+0x1041) : référence indéfinie vers « caf::detail::behavior_impl::behavior_impl(caf::duration) »
hello_world.cpp:(.text+0x10a1) : référence indéfinie vers « caf::detail::behavior_impl::~behavior_impl() »
/tmp/ccbpYkaB.o : Dans la fonction « caf::trivial_match_case<hello_world(caf::event_based_actor*, caf::actor const&)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::trivial_match_case({lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}) » :
hello_world.cpp:(.text+0x11bd) : référence indéfinie vers « caf::match_case::match_case(unsigned int) »
/tmp/ccbpYkaB.o : Dans la fonction « caf::detail::default_behavior_impl<std::tuple<caf::trivial_match_case<hello_world(caf::event_based_actor*, caf::actor const&)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}> > >::~default_behavior_impl() » :
hello_world.cpp:(.text+0x1446) : référence indéfinie vers « caf::detail::behavior_impl::~behavior_impl() »
/tmp/ccbpYkaB.o : Dans la fonction « caf::detail::default_behavior_impl<std::tuple<caf::trivial_match_case<mirror(caf::event_based_actor*)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}> > >::~default_behavior_impl() » :
hello_world.cpp:(.text+0x14b8) : référence indéfinie vers « caf::detail::behavior_impl::~behavior_impl() »
/tmp/ccbpYkaB.o : Dans la fonction « caf::trivial_match_case<hello_world(caf::event_based_actor*, caf::actor const&)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::invoke(caf::detail::invoke_result_visitor&, caf::type_erased_tuple&) » :
hello_world.cpp:(.text+0x1659) : référence indéfinie vers « caf::detail::try_match(caf::type_erased_tuple const&, caf::detail::meta_element const*, unsigned long) »
hello_world.cpp:(.text+0x16b2) : référence indéfinie vers « caf::message::copy(caf::type_erased_tuple const&) »
hello_world.cpp:(.text+0x16c5) : référence indéfinie vers « caf::message::operator=(caf::message&&) »
hello_world.cpp:(.text+0x16d1) : référence indéfinie vers « caf::message::~message() »
hello_world.cpp:(.text+0x1757) : référence indéfinie vers « caf::message::~message() »
hello_world.cpp:(.text+0x1779) : référence indéfinie vers « caf::message::~message() »
/tmp/ccbpYkaB.o : Dans la fonction « caf::trivial_match_case<mirror(caf::event_based_actor*)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::invoke(caf::detail::invoke_result_visitor&, caf::type_erased_tuple&) » :
hello_world.cpp:(.text+0x18b7) : référence indéfinie vers « caf::detail::try_match(caf::type_erased_tuple const&, caf::detail::meta_element const*, unsigned long) »
hello_world.cpp:(.text+0x1916) : référence indéfinie vers « caf::message::copy(caf::type_erased_tuple const&) »
hello_world.cpp:(.text+0x192c) : référence indéfinie vers « caf::message::operator=(caf::message&&) »
hello_world.cpp:(.text+0x1938) : référence indéfinie vers « caf::message::~message() »
hello_world.cpp:(.text+0x19cd) : référence indéfinie vers « caf::message::~message() »
hello_world.cpp:(.text+0x1a03) : référence indéfinie vers « caf::message::~message() »
/tmp/ccbpYkaB.o : Dans la fonction « caf::detail::default_behavior_impl<std::tuple<caf::trivial_match_case<hello_world(caf::event_based_actor*, caf::actor const&)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>, caf::timeout_definition<std::function<void ()> > > >::default_behavior_impl<hello_world(caf::event_based_actor*, caf::actor const&)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1} const&, std::function<void ()> const&>(hello_world(caf::event_based_actor*, caf::actor const&)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1} const&, std::function<void ()> const&) » :
hello_world.cpp:(.text+0x21eb) : référence indéfinie vers « caf::detail::behavior_impl::behavior_impl(caf::duration) »
hello_world.cpp:(.text+0x225d) : référence indéfinie vers « caf::detail::behavior_impl::~behavior_impl() »
/tmp/ccbpYkaB.o : Dans la fonction « caf::detail::default_behavior_impl<std::tuple<caf::trivial_match_case<mirror(caf::event_based_actor*)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>, caf::timeout_definition<std::function<void ()> > > >::default_behavior_impl<mirror(caf::event_based_actor*)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1} const&, std::function<void ()> const&>(mirror(caf::event_based_actor*)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1} const&, std::function<void ()> const&) » :
hello_world.cpp:(.text+0x2445) : référence indéfinie vers « caf::detail::behavior_impl::behavior_impl(caf::duration) »
hello_world.cpp:(.text+0x24b7) : référence indéfinie vers « caf::detail::behavior_impl::~behavior_impl() »
/tmp/ccbpYkaB.o : Dans la fonction « caf::detail::default_behavior_impl<std::tuple<caf::trivial_match_case<mirror(caf::event_based_actor*)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>, caf::timeout_definition<std::function<void ()> > > >::~default_behavior_impl() » :
hello_world.cpp:(.text+0x2a1a) : référence indéfinie vers « caf::detail::behavior_impl::~behavior_impl() »
/tmp/ccbpYkaB.o : Dans la fonction « caf::detail::default_behavior_impl<std::tuple<caf::trivial_match_case<hello_world(caf::event_based_actor*, caf::actor const&)::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>, caf::timeout_definition<std::function<void ()> > > >::~default_behavior_impl() » :
hello_world.cpp:(.text+0x2a8c) : référence indéfinie vers « caf::detail::behavior_impl::~behavior_impl() »
/tmp/ccbpYkaB.o:(.rodata+0x190) : référence indéfinie vers « caf::memory_managed::request_deletion(bool) »
/tmp/ccbpYkaB.o:(.rodata+0x1a8) : référence indéfinie vers « caf::detail::behavior_impl::invoke_empty(caf::detail::invoke_result_visitor&) »
/tmp/ccbpYkaB.o:(.rodata+0x1b0) : référence indéfinie vers « caf::detail::behavior_impl::invoke(caf::detail::invoke_result_visitor&, caf::type_erased_tuple&) »
/tmp/ccbpYkaB.o:(.rodata+0x200) : référence indéfinie vers « caf::memory_managed::request_deletion(bool) »
/tmp/ccbpYkaB.o:(.rodata+0x218) : référence indéfinie vers « caf::detail::behavior_impl::invoke_empty(caf::detail::invoke_result_visitor&) »
/tmp/ccbpYkaB.o:(.rodata+0x220) : référence indéfinie vers « caf::detail::behavior_impl::invoke(caf::detail::invoke_result_visitor&, caf::type_erased_tuple&) »
/tmp/ccbpYkaB.o:(.rodata+0x330) : référence indéfinie vers « typeinfo for caf::detail::behavior_impl »
/tmp/ccbpYkaB.o:(.rodata+0x3e0) : référence indéfinie vers « typeinfo for caf::match_case »
/tmp/ccbpYkaB.o:(.rodata+0x4c0) : référence indéfinie vers « typeinfo for caf::detail::behavior_impl »
/tmp/ccbpYkaB.o:(.rodata+0x570) : référence indéfinie vers « typeinfo for caf::match_case »
/tmp/ccbpYkaB.o:(.rodata+0x598) : référence indéfinie vers « caf::memory_managed::request_deletion(bool) »
/tmp/ccbpYkaB.o:(.rodata+0x5b0) : référence indéfinie vers « caf::detail::behavior_impl::invoke_empty(caf::detail::invoke_result_visitor&) »
/tmp/ccbpYkaB.o:(.rodata+0x5b8) : référence indéfinie vers « caf::detail::behavior_impl::invoke(caf::detail::invoke_result_visitor&, caf::type_erased_tuple&) »
/tmp/ccbpYkaB.o:(.rodata+0x5e0) : référence indéfinie vers « caf::memory_managed::request_deletion(bool) »
/tmp/ccbpYkaB.o:(.rodata+0x5f8) : référence indéfinie vers « caf::detail::behavior_impl::invoke_empty(caf::detail::invoke_result_visitor&) »
/tmp/ccbpYkaB.o:(.rodata+0x600) : référence indéfinie vers « caf::detail::behavior_impl::invoke(caf::detail::invoke_result_visitor&, caf::type_erased_tuple&) »
/tmp/ccbpYkaB.o:(.rodata+0x708) : référence indéfinie vers « typeinfo for caf::detail::behavior_impl »
/tmp/ccbpYkaB.o:(.rodata+0x818) : référence indéfinie vers « typeinfo for caf::detail::behavior_impl »
/tmp/ccbpYkaB.o : Dans la fonction « caf::intrusive_ptr_release(caf::ref_counted*) » :
hello_world.cpp:(.text._ZN3caf21intrusive_ptr_releaseEPNS_11ref_countedE[_ZN3caf21intrusive_ptr_releaseEPNS_11ref_countedE]+0x14) : référence indéfinie vers « caf::ref_counted::deref() »
/tmp/ccbpYkaB.o : Dans la fonction « caf::detail::message_data::cow_ptr::operator*() » :
hello_world.cpp:(.text._ZN3caf6detail12message_data7cow_ptrdeEv[_ZN3caf6detail12message_data7cow_ptrdeEv]+0x14) : référence indéfinie vers « caf::detail::message_data::cow_ptr::get_unshared() »
/tmp/ccbpYkaB.o : Dans la fonction « caf::detail::stringification_inspector::consume(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) » :
hello_world.cpp:(.text._ZN3caf6detail25stringification_inspector7consumeERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN3caf6detail25stringification_inspector7consumeERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x2a) : référence indéfinie vers « caf::detail::stringification_inspector::consume(char const*) »
/tmp/ccbpYkaB.o : Dans la fonction « caf::detail::invoke_result_visitor::operator()(caf::unit_t const&) » :
hello_world.cpp:(.text._ZN3caf6detail21invoke_result_visitorclERKNS_6unit_tE[_ZN3caf6detail21invoke_result_visitorclERKNS_6unit_tE]+0x4e) : référence indéfinie vers « caf::message::~message() »
hello_world.cpp:(.text._ZN3caf6detail21invoke_result_visitorclERKNS_6unit_tE[_ZN3caf6detail21invoke_result_visitorclERKNS_6unit_tE]+0x6f) : référence indéfinie vers « caf::message::~message() »
/tmp/ccbpYkaB.o : Dans la fonction « caf::actor_ostream::operator<<(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) » :
hello_world.cpp:(.text._ZN3caf13actor_ostreamlsENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN3caf13actor_ostreamlsENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x4d) : référence indéfinie vers « caf::actor_ostream::write(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) »
/tmp/ccbpYkaB.o : Dans la fonction « caf::intrusive_ptr<caf::actor_control_block>::~intrusive_ptr() » :
hello_world.cpp:(.text._ZN3caf13intrusive_ptrINS_19actor_control_blockEED2Ev[_ZN3caf13intrusive_ptrINS_19actor_control_blockEED5Ev]+0x23) : référence indéfinie vers « caf::intrusive_ptr_release(caf::actor_control_block*) »
/tmp/ccbpYkaB.o : Dans la fonction « caf::infer_handle_from_fun<caf::behavior (*)(caf::event_based_actor*), caf::detail::get_callable_trait<caf::behavior (*)(caf::event_based_actor*)>::type>::type caf::actor_system::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::event_based_actor*)>(caf::behavior (*)(caf::event_based_actor*)) » :
hello_world.cpp:(.text._ZN3caf12actor_system5spawnILNS_13spawn_optionsE0EPFNS_8behaviorEPNS_17event_based_actorEEJEEENS_21infer_handle_from_funIT0_NS_6detail18get_callable_traitIS9_E4typeEE4typeES9_DpOT1_[_ZN3caf12actor_system5spawnILNS_13spawn_optionsE0EPFNS_8behaviorEPNS_17event_based_actorEEJEEENS_21infer_handle_from_funIT0_NS_6detail18get_callable_traitIS9_E4typeEE4typeES9_DpOT1_]+0x3d) : référence indéfinie vers « caf::actor_config::actor_config(caf::execution_unit*) »
/tmp/ccbpYkaB.o : Dans la fonction « caf::infer_handle_from_fun<void (*)(caf::event_based_actor*, caf::actor const&), caf::detail::get_callable_trait<void (*)(caf::event_based_actor*, caf::actor const&)>::type>::type caf::actor_system::spawn<(caf::spawn_options)0, void (*)(caf::event_based_actor*, caf::actor const&), caf::actor&>(void (*)(caf::event_based_actor*, caf::actor const&), caf::actor&) » :
hello_world.cpp:(.text._ZN3caf12actor_system5spawnILNS_13spawn_optionsE0EPFvPNS_17event_based_actorERKNS_5actorEEJRS5_EEENS_21infer_handle_from_funIT0_NS_6detail18get_callable_traitISC_E4typeEE4typeESC_DpOT1_[_ZN3caf12actor_system5spawnILNS_13spawn_optionsE0EPFvPNS_17event_based_actorERKNS_5actorEEJRS5_EEENS_21infer_handle_from_funIT0_NS_6detail18get_callable_traitISC_E4typeEE4typeESC_DpOT1_]+0x41) : référence indéfinie vers « caf::actor_config::actor_config(caf::execution_unit*) »
/tmp/ccbpYkaB.o : Dans la fonction « caf::response_handle<caf::event_based_actor, caf::response_type<caf::actor::signatures, caf::detail::implicit_conversions<std::decay<char const (&) [13]>::type>::type>::type, false> caf::mixin::requester<caf::mixin::sender<caf::scheduled_actor, caf::event_based_actor>, caf::event_based_actor>::request<(caf::message_priority)0, caf::actor, char const (&) [13]>(caf::actor const&, caf::duration const&, char const (&) [13]) » :
hello_world.cpp:(.text._ZN3caf5mixin9requesterINS0_6senderINS_15scheduled_actorENS_17event_based_actorEEES4_E7requestILNS_16message_priorityE0ENS_5actorEJRA13_KcEEENS_15response_handleIS4_NS_13response_typeINT0_10signaturesEJDpNS_6detail20implicit_conversionsINSt5decayIT1_E4typeEE4typeEEE4typeELb0EEERKSF_RKNS_8durationEDpOSK_[_ZN3caf5mixin9requesterINS0_6senderINS_15scheduled_actorENS_17event_based_actorEEES4_E7requestILNS_16message_priorityE0ENS_5actorEJRA13_KcEEENS_15response_handleIS4_NS_13response_typeINT0_10signaturesEJDpNS_6detail20implicit_conversionsINSt5decayIT1_E4typeEE4typeEEE4typeELb0EEERKSF_RKNS_8durationEDpOSK_]+0x3f) : référence indéfinie vers « caf::local_actor::new_request_id(caf::message_priority) »
hello_world.cpp:(.text._ZN3caf5mixin9requesterINS0_6senderINS_15scheduled_actorENS_17event_based_actorEEES4_E7requestILNS_16message_priorityE0ENS_5actorEJRA13_KcEEENS_15response_handleIS4_NS_13response_typeINT0_10signaturesEJDpNS_6detail20implicit_conversionsINSt5decayIT1_E4typeEE4typeEEE4typeELb0EEERKSF_RKNS_8durationEDpOSK_[_ZN3caf5mixin9requesterINS0_6senderINS_15scheduled_actorENS_17event_based_actorEEES4_E7requestILNS_16message_priorityE0ENS_5actorEJRA13_KcEEENS_15response_handleIS4_NS_13response_typeINT0_10signaturesEJDpNS_6detail20implicit_conversionsINSt5decayIT1_E4typeEE4typeEEE4typeELb0EEERKSF_RKNS_8durationEDpOSK_]+0x81) : référence indéfinie vers « caf::abstract_actor::ctrl() const »
inie vers « caf::mailbox_element::~mailbox_element() »
/tmp/ccbpYkaB.o : Dans la fonction « std::_Head_base<0ul, caf::error, false>::~_Head_base() » :
hello_world.cpp:(.text._ZNSt10_Head_baseILm0EN3caf5errorELb0EED2Ev[_ZNSt10_Head_baseILm0EN3caf5errorELb0EED5Ev]+0x14) : référence indéfinie vers « caf::error::~error() »
/tmp/ccbpYkaB.o : Dans la fonction « caf::detail::tuple_vals_impl<caf::type_erased_tuple, caf::error>::~tuple_vals_impl() » :
hello_world.cpp:(.text._ZN3caf6detail15tuple_vals_implINS_17type_erased_tupleEJNS_5errorEEED2Ev[_ZN3caf6detail15tuple_vals_implINS_17type_erased_tupleEJNS_5errorEEED5Ev]+0x30) : référence indéfinie vers « caf::type_erased_tuple::~type_erased_tuple() »
/tmp/ccbpYkaB.o : Dans la fonction « caf::mailbox_element_vals<caf::error>::mailbox_element_vals<caf::error>(caf::intrusive_ptr<caf::actor_control_block>&&, caf::message_id, std::vector<caf::intrusive_ptr<caf::actor_control_block>, std::allocator<caf::intrusive_ptr<caf::actor_control_block> > >&&, caf::error&&) » :
hello_world.cpp:(.text._ZN3caf20mailbox_element_valsIJNS_5errorEEEC2IJS1_EEEONS_13intrusive_ptrINS_19actor_control_blockEEENS_10message_idEOSt6vectorIS6_SaIS6_EEDpOT_[_ZN3caf20mailbox_element_valsIJNS_5errorEEEC5IJS1_EEEONS_13intrusive_ptrINS_19actor_control_blockEEENS_10message_idEOSt6vectorIS6_SaIS6_EEDpOT_]+0x4a) : référence indéfinie vers « caf::mailbox_element::mailbox_element(caf::intrusive_ptr<caf::actor_control_block>&&, caf::message_id, std::vector<caf::intrusive_ptr<caf::actor_control_block>, std::allocator<caf::intrusive_ptr<caf::actor_control_block> > >&&) »
/tmp/ccbpYkaB.o : Dans la fonction « caf::actor caf::make_actor<caf::event_based_actor, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) » :
hello_world.cpp:(.text._ZN3caf10make_actorINS_17event_based_actorENS_5actorEJRNS_12actor_configEEEET0_mNS_7node_idEPNS_12actor_systemEDpOT1_[_ZN3caf10make_actorINS_17event_based_actorENS_5actorEJRNS_12actor_configEEEET0_mNS_7node_idEPNS_12actor_systemEDpOT1_]+0x96) : référence indéfinie vers « caf::node_id::~node_id() »
hello_world.cpp:(.text._ZN3caf10make_actorINS_17event_based_actorENS_5actorEJRNS_12actor_configEEEET0_mNS_7node_idEPNS_12actor_systemEDpOT1_[_ZN3caf10make_actorINS_17event_based_actorENS_5actorEJRNS_12actor_configEEEET0_mNS_7node_idEPNS_12actor_systemEDpOT1_]+0xae) : référence indéfinie vers « caf::actor::actor(caf::actor_control_block*, bool) »
hello_world.cpp:(.text._ZN3caf10make_actorINS_17event_based_actorENS_5actorEJRNS_12actor_configEEEET0_mNS_7node_idEPNS_12actor_systemEDpOT1_[_ZN3caf10make_actorINS_17event_based_actorENS_5actorEJRNS_12actor_configEEEET0_mNS_7node_idEPNS_12actor_systemEDpOT1_]+0xe2) : référence indéfinie vers « caf::node_id::~node_id() »
/tmp/ccbpYkaB.o : Dans la fonction « caf::detail::tuple_vals_impl<caf::type_erased_tuple, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::tuple_vals_impl<char const (&) [13]>(char const (&) [13]) » :
hello_world.cpp:(.text._ZN3caf6detail15tuple_vals_implINS_17type_erased_tupleEJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2IJRA13_KcEEEDpOT_[_ZN3caf6detail15tuple_vals_implINS_17type_erased_tupleEJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC5IJRA13_KcEEEDpOT_]+0x6d) : référence indéfinie vers « caf::type_erased_tuple::~type_erased_tuple() »
/tmp/ccbpYkaB.o : Dans la fonction « std::_Head_base<0ul, caf::error, false>::_Head_base<caf::error>(caf::error&&) » :
hello_world.cpp:(.text._ZNSt10_Head_baseILm0EN3caf5errorELb0EEC2IS1_EEOT_[_ZNSt10_Head_baseILm0EN3caf5errorELb0EEC5IS1_EEOT_]+0x2a) : référence indéfinie vers « caf::error::error(caf::error&&) »
/tmp/ccbpYkaB.o : Dans la fonction « caf::actor_control_block::~actor_control_block() » :
hello_world.cpp:(.text._ZN3caf19actor_control_blockD2Ev[_ZN3caf19actor_control_blockD5Ev]+0x18) : référence indéfinie vers « caf::node_id::~node_id() »
/tmp/ccbpYkaB.o : Dans la fonction « caf::actor_storage<caf::event_based_actor>::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) » :
hello_world.cpp:(.text._ZN3caf13actor_storageINS_17event_based_actorEEC2IJRNS_12actor_configEEEEmNS_7node_idEPNS_12actor_systemEDpOT_[_ZN3caf13actor_storageINS_17event_based_actorEEC5IJRNS_12actor_configEEEEmNS_7node_idEPNS_12actor_systemEDpOT_]+0x73) : référence indéfinie vers « caf::event_based_actor::event_based_actor(caf::actor_config&) »
/tJRKS2_EEEDpOT_]+0x58) : référence indéfinie vers « caf::type_erased_value::~type_erased_value() »
/tmp/ccbpYkaB.o : Dans la fonction « std::enable_if<!caf::meta::is_annotation<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::value, void>::type caf::detail::stringification_inspector::traverse<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) » :
hello_world.cpp:(.text._ZN3caf6detail25stringification_inspector8traverseIRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJEEENSt9enable_ifIXntsrNS_4meta13is_annotationIT_EE5valueEvE4typeEOSE_DpOT0_[_ZN3caf6detail25stringification_inspector8traverseIRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJEEENSt9enable_ifIXntsrNS_4meta13is_annotationIT_EE5valueEvE4typeEOSE_DpOT0_]+0x18) : référence indéfinie vers « caf::detail::stringification_inspector::sep() »
/tmp/ccbpYkaB.o : Dans la fonction « std::enable_if<!caf::meta::is_annotation<caf::error const&>::value, void>::type caf::detail::stringification_inspector::traverse<caf::error const&>(caf::error const&) » :
hello_world.cpp:(.text._ZN3caf6detail25stringification_inspector8traverseIRKNS_5errorEJEEENSt9enable_ifIXntsrNS_4meta13is_annotationIT_EE5valueEvE4typeEOS9_DpOT0_[_ZN3caf6detail25stringification_inspector8traverseIRKNS_5errorEJEEENSt9enable_ifIXntsrNS_4meta13is_annotationIT_EE5valueEvE4typeEOS9_DpOT0_]+0x18) : référence indéfinie vers « caf::detail::stringification_inspector::sep() »
collect2: error: ld returned 1 exit status

-7

Решение

Эта проблема не связана с CAF.

Вам нужно дать флаги компоновщика в GCC. Если вы установили CAF, попробуйте -lcaf_core а также -lcaf_io, В противном случае вам также придется дать GCC подсказки, где найти общие библиотеки с -L<path>,

Увидеть Документация GCC для получения дополнительных параметров или поиска в Интернете учебники, как скомпилировать и ссылки из оболочки.

1

Другие решения

Других решений пока нет …


Курсы программирования от Skillbox. Черная пятница!
Подробнее >>>
×