Giter Site home page Giter Site logo

jkit's People

Contributors

jxfwinter avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

jkit's Issues

Build error with boost 1.75

I encountered the following build error after I installed boost 1.75.
Before installed boost 1.75, I encountered lboost_json error, which is introduced in the latest boost version.

yluo@ubuntu:~/jkit$ cmake --build build --clean-first -j 1 -v
/usr/bin/make -f CMakeFiles/Makefile2 clean
make[1]: Entering directory '/home/yluo/jkit/build'
/usr/bin/make -f CMakeFiles/http_test_server.dir/build.make CMakeFiles/http_test_server.dir/clean
make[2]: Entering directory '/home/yluo/jkit/build'
/usr/bin/cmake -P CMakeFiles/http_test_server.dir/cmake_clean.cmake
make[2]: Leaving directory '/home/yluo/jkit/build'
/usr/bin/make -f CMakeFiles/http_test_client.dir/build.make CMakeFiles/http_test_client.dir/clean
make[2]: Entering directory '/home/yluo/jkit/build'
/usr/bin/cmake -P CMakeFiles/http_test_client.dir/cmake_clean.cmake
make[2]: Leaving directory '/home/yluo/jkit/build'
make[1]: Leaving directory '/home/yluo/jkit/build'
/usr/bin/cmake -S/home/yluo/jkit -B/home/yluo/jkit/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/yluo/jkit/build/CMakeFiles /home/yluo/jkit/build/CMakeFiles/progress.marks
/usr/bin/make -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/home/yluo/jkit/build'
/usr/bin/make -f CMakeFiles/http_test_server.dir/build.make CMakeFiles/http_test_server.dir/depend
make[2]: Entering directory '/home/yluo/jkit/build'
cd /home/yluo/jkit/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/yluo/jkit /home/yluo/jkit /home/yluo/jkit/build /home/yluo/jkit/build /home/yluo/jkit/build/CMakeFiles/http_test_server.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/home/yluo/jkit/build'
/usr/bin/make -f CMakeFiles/http_test_server.dir/build.make CMakeFiles/http_test_server.dir/build
make[2]: Entering directory '/home/yluo/jkit/build'
[ 11%] Building CXX object CMakeFiles/http_test_server.dir/common/logger.cpp.o
/usr/bin/c++   -I/home/yluo/jkit/http -I/home/yluo/jkit/common -I/home/yluo/jkit/common/fiber -I/home/yluo/jkit/db -I/home/yluo/jkit/third_party/include  -O2 -g -DNDEBUG   -std=c++17 -o CMakeFiles/http_test_server.dir/common/logger.cpp.o -c /home/yluo/jkit/common/logger.cpp
[ 22%] Building CXX object CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o
/usr/bin/c++   -I/home/yluo/jkit/http -I/home/yluo/jkit/common -I/home/yluo/jkit/common/fiber -I/home/yluo/jkit/db -I/home/yluo/jkit/third_party/include  -O2 -g -DNDEBUG   -std=c++17 -o CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o -c /home/yluo/jkit/http/http_api_server.cpp
[ 33%] Building CXX object CMakeFiles/http_test_server.dir/db/json2sql.cpp.o
/usr/bin/c++   -I/home/yluo/jkit/http -I/home/yluo/jkit/common -I/home/yluo/jkit/common/fiber -I/home/yluo/jkit/db -I/home/yluo/jkit/third_party/include  -O2 -g -DNDEBUG   -std=c++17 -o CMakeFiles/http_test_server.dir/db/json2sql.cpp.o -c /home/yluo/jkit/db/json2sql.cpp
[ 44%] Building CXX object CMakeFiles/http_test_server.dir/examples/http/server_main.cpp.o
/usr/bin/c++   -I/home/yluo/jkit/http -I/home/yluo/jkit/common -I/home/yluo/jkit/common/fiber -I/home/yluo/jkit/db -I/home/yluo/jkit/third_party/include  -O2 -g -DNDEBUG   -std=c++17 -o CMakeFiles/http_test_server.dir/examples/http/server_main.cpp.o -c /home/yluo/jkit/examples/http/server_main.cpp
[ 55%] Linking CXX executable ../bin/http_test_server
/usr/bin/cmake -E cmake_link_script CMakeFiles/http_test_server.dir/link.txt --verbose=1
/usr/bin/c++  -O2 -g -DNDEBUG   CMakeFiles/http_test_server.dir/common/logger.cpp.o CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o CMakeFiles/http_test_server.dir/db/json2sql.cpp.o CMakeFiles/http_test_server.dir/examples/http/server_main.cpp.o  -o ../bin/http_test_server   -L/home/yluo/jkit/lib  -Wl,-rpath,/home/yluo/jkit/lib -Wl,--start-group -lboost_log -lboost_fiber -lboost_filesystem -lboost_context -lboost_log_setup -lboost_thread -lboost_date_time -lboost_regex -lboost_json -lssl -lpthread -lcrypto -Wl,--end-group 
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `init_logging(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::log::v2s_mt_posix::trivial::severity_level)':
/home/yluo/jkit/common/logger.cpp:238: undefined reference to `boost::log::v2s_mt_posix::core::get()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attributes::function<long>::function<long (*)()>(long (* const&)())':
/home/yluo/jkit/third_party/include/boost/log/attributes/function.hpp:95: undefined reference to `boost::log::v2s_mt_posix::attribute::impl::operator new(unsigned long)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attribute_name::attribute_name(char const*)':
/home/yluo/jkit/third_party/include/boost/log/attributes/attribute_name.hpp:80: undefined reference to `boost::log::v2s_mt_posix::attribute_name::get_id_from_string(char const*)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `init_logging(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::log::v2s_mt_posix::trivial::severity_level)':
/home/yluo/jkit/common/logger.cpp:240: undefined reference to `boost::log::v2s_mt_posix::core::add_global_attribute(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute const&)'
/usr/bin/ld: /home/yluo/jkit/common/logger.cpp:241: undefined reference to `boost::log::v2s_mt_posix::core::get()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attributes::function<boost::fibers::context::id>::function<boost::fibers::context::id (*)() noexcept>(boost::fibers::context::id (* const&)() noexcept)':
/home/yluo/jkit/third_party/include/boost/log/attributes/function.hpp:95: undefined reference to `boost::log::v2s_mt_posix::attribute::impl::operator new(unsigned long)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attribute_name::attribute_name(char const*)':
/home/yluo/jkit/third_party/include/boost/log/attributes/attribute_name.hpp:80: undefined reference to `boost::log::v2s_mt_posix::attribute_name::get_id_from_string(char const*)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `init_logging(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::log::v2s_mt_posix::trivial::severity_level)':
/home/yluo/jkit/common/logger.cpp:243: undefined reference to `boost::log::v2s_mt_posix::core::add_global_attribute(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute const&)'
/usr/bin/ld: /home/yluo/jkit/common/logger.cpp:249: undefined reference to `boost::log::v2s_mt_posix::core::get()'
/usr/bin/ld: /home/yluo/jkit/common/logger.cpp:260: undefined reference to `boost::log::v2s_mt_posix::sinks::text_file_backend::auto_flush(bool)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::shared_ptr<boost::log::v2s_mt_posix::sinks::file::collector> boost::log::v2s_mt_posix::sinks::file::aux::make_collector<boost::parameter::aux::flat_like_arg_list<boost::parameter::aux::flat_like_arg_tuple<boost::log::v2s_mt_posix::keywords::tag::min_free_space, boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::min_free_space, int const>, std::integral_constant<bool, true> >, boost::parameter::aux::flat_like_arg_tuple<boost::log::v2s_mt_posix::keywords::tag::target, boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::target, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::integral_constant<bool, true> >, boost::parameter::aux::flat_like_arg_tuple<boost::log::v2s_mt_posix::keywords::tag::max_size, boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::max_size, unsigned long const>, std::integral_constant<bool, true> > > >(boost::parameter::aux::flat_like_arg_list<boost::parameter::aux::flat_like_arg_tuple<boost::log::v2s_mt_posix::keywords::tag::min_free_space, boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::min_free_space, int const>, std::integral_constant<bool, true> >, boost::parameter::aux::flat_like_arg_tuple<boost::log::v2s_mt_posix::keywords::tag::target, boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::target, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::integral_constant<bool, true> >, boost::parameter::aux::flat_like_arg_tuple<boost::log::v2s_mt_posix::keywords::tag::max_size, boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::max_size, unsigned long const>, std::integral_constant<bool, true> > > const&)':
/home/yluo/jkit/third_party/include/boost/log/sinks/text_file_backend.hpp:147: undefined reference to `boost::log::v2s_mt_posix::sinks::file::aux::make_collector(boost::filesystem::path const&, unsigned long, unsigned long, unsigned long)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `init_logging(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::log::v2s_mt_posix::trivial::severity_level)':
/home/yluo/jkit/common/logger.cpp:266: undefined reference to `boost::log::v2s_mt_posix::sinks::text_file_backend::set_file_collector(boost::shared_ptr<boost::log::v2s_mt_posix::sinks::file::collector> const&)'
/usr/bin/ld: /home/yluo/jkit/common/logger.cpp:271: undefined reference to `boost::log::v2s_mt_posix::core::add_sink(boost::shared_ptr<boost::log::v2s_mt_posix::sinks::sink> const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attribute_name::attribute_name(char const*)':
/home/yluo/jkit/third_party/include/boost/log/attributes/attribute_name.hpp:80: undefined reference to `boost::log::v2s_mt_posix::attribute_name::get_id_from_string(char const*)'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/attribute_name.hpp:80: undefined reference to `boost::log::v2s_mt_posix::attribute_name::get_id_from_string(char const*)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `void boost::log::v2s_mt_posix::aux::parse_date_time_format<char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::log::v2s_mt_posix::aux::date_time_format_parser_callback<char>&)':
/home/yluo/jkit/third_party/include/boost/log/detail/date_time_format_parser.hpp:462: undefined reference to `void boost::log::v2s_mt_posix::aux::parse_date_time_format<char>(char const*, char const*, boost::log::v2s_mt_posix::aux::date_time_format_parser_callback<char>&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attribute_name::attribute_name(char const*)':
/home/yluo/jkit/third_party/include/boost/log/attributes/attribute_name.hpp:80: undefined reference to `boost::log::v2s_mt_posix::attribute_name::get_id_from_string(char const*)'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/attribute_name.hpp:80: undefined reference to `boost::log::v2s_mt_posix::attribute_name::get_id_from_string(char const*)'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/attribute_name.hpp:80: undefined reference to `boost::log::v2s_mt_posix::attribute_name::get_id_from_string(char const*)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::expressions::tag::message::get_name()':
/home/yluo/jkit/third_party/include/boost/log/expressions/message.hpp:56: undefined reference to `boost::log::v2s_mt_posix::aux::default_attribute_names::message()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `init_logging(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::log::v2s_mt_posix::trivial::severity_level)':
/home/yluo/jkit/common/logger.cpp:282: undefined reference to `boost::log::v2s_mt_posix::sinks::text_file_backend::scan_for_files(boost::log::v2s_mt_posix::sinks::file::scan_method, bool)'
/usr/bin/ld: /home/yluo/jkit/common/logger.cpp:286: undefined reference to `boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend<char>::add_stream(boost::shared_ptr<std::ostream> const&)'
/usr/bin/ld: /home/yluo/jkit/common/logger.cpp:291: undefined reference to `boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend<char>::auto_flush(bool)'
/usr/bin/ld: /home/yluo/jkit/common/logger.cpp:297: undefined reference to `boost::log::v2s_mt_posix::core::add_sink(boost::shared_ptr<boost::log::v2s_mt_posix::sinks::sink> const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attribute_name::attribute_name(char const*)':
/home/yluo/jkit/third_party/include/boost/log/attributes/attribute_name.hpp:80: undefined reference to `boost::log::v2s_mt_posix::attribute_name::get_id_from_string(char const*)'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/attribute_name.hpp:80: undefined reference to `boost::log::v2s_mt_posix::attribute_name::get_id_from_string(char const*)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `void boost::log::v2s_mt_posix::aux::parse_date_time_format<char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::log::v2s_mt_posix::aux::date_time_format_parser_callback<char>&)':
/home/yluo/jkit/third_party/include/boost/log/detail/date_time_format_parser.hpp:462: undefined reference to `void boost::log::v2s_mt_posix::aux::parse_date_time_format<char>(char const*, char const*, boost::log::v2s_mt_posix::aux::date_time_format_parser_callback<char>&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attribute_name::attribute_name(char const*)':
/home/yluo/jkit/third_party/include/boost/log/attributes/attribute_name.hpp:80: undefined reference to `boost::log::v2s_mt_posix::attribute_name::get_id_from_string(char const*)'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/attribute_name.hpp:80: undefined reference to `boost::log::v2s_mt_posix::attribute_name::get_id_from_string(char const*)'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/attribute_name.hpp:80: undefined reference to `boost::log::v2s_mt_posix::attribute_name::get_id_from_string(char const*)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::expressions::tag::message::get_name()':
/home/yluo/jkit/third_party/include/boost/log/expressions/message.hpp:56: undefined reference to `boost::log::v2s_mt_posix::aux::default_attribute_names::message()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attribute_name::attribute_name(char const*)':
/home/yluo/jkit/third_party/include/boost/log/attributes/attribute_name.hpp:80: undefined reference to `boost::log::v2s_mt_posix::attribute_name::get_id_from_string(char const*)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `add_syslogging(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, boost::log::v2s_mt_posix::trivial::severity_level)':
/home/yluo/jkit/common/logger.cpp:322: undefined reference to `boost::log::v2s_mt_posix::core::get()'
/usr/bin/ld: /home/yluo/jkit/common/logger.cpp:324: undefined reference to `boost::log::v2s_mt_posix::core::add_sink(boost::shared_ptr<boost::log::v2s_mt_posix::sinks::sink> const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attribute_name::attribute_name(char const*)':
/home/yluo/jkit/third_party/include/boost/log/attributes/attribute_name.hpp:80: undefined reference to `boost::log::v2s_mt_posix::attribute_name::get_id_from_string(char const*)'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/attribute_name.hpp:80: undefined reference to `boost::log::v2s_mt_posix::attribute_name::get_id_from_string(char const*)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `void boost::log::v2s_mt_posix::aux::parse_date_time_format<char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::log::v2s_mt_posix::aux::date_time_format_parser_callback<char>&)':
/home/yluo/jkit/third_party/include/boost/log/detail/date_time_format_parser.hpp:462: undefined reference to `void boost::log::v2s_mt_posix::aux::parse_date_time_format<char>(char const*, char const*, boost::log::v2s_mt_posix::aux::date_time_format_parser_callback<char>&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attribute_name::attribute_name(char const*)':
/home/yluo/jkit/third_party/include/boost/log/attributes/attribute_name.hpp:80: undefined reference to `boost::log::v2s_mt_posix::attribute_name::get_id_from_string(char const*)'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/attribute_name.hpp:80: undefined reference to `boost::log::v2s_mt_posix::attribute_name::get_id_from_string(char const*)'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/attribute_name.hpp:80: undefined reference to `boost::log::v2s_mt_posix::attribute_name::get_id_from_string(char const*)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::expressions::tag::smessage::get_name()':
/home/yluo/jkit/third_party/include/boost/log/expressions/message.hpp:70: undefined reference to `boost::log::v2s_mt_posix::aux::default_attribute_names::message()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attributes::basic_clock<boost::log::v2s_mt_posix::attributes::local_time_traits>::impl::~impl()':
/home/yluo/jkit/third_party/include/boost/log/attributes/clock.hpp:57: undefined reference to `boost::log::v2s_mt_posix::attribute::impl::operator delete(void*, unsigned long)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attributes::counter<unsigned int>::impl::~impl()':
/home/yluo/jkit/third_party/include/boost/log/attributes/counter.hpp:59: undefined reference to `boost::log::v2s_mt_posix::attribute::impl::operator delete(void*, unsigned long)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attributes::attribute_value_impl<unsigned int>::~attribute_value_impl()':
/home/yluo/jkit/third_party/include/boost/log/attributes/attribute_value_impl.hpp:49: undefined reference to `boost::log::v2s_mt_posix::attribute::impl::operator delete(void*, unsigned long)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attributes::attribute_value_impl<boost::fibers::context::id>::~attribute_value_impl()':
/home/yluo/jkit/third_party/include/boost/log/attributes/attribute_value_impl.hpp:49: undefined reference to `boost::log::v2s_mt_posix::attribute::impl::operator delete(void*, unsigned long)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attributes::attribute_value_impl<long>::~attribute_value_impl()':
/home/yluo/jkit/third_party/include/boost/log/attributes/attribute_value_impl.hpp:49: undefined reference to `boost::log::v2s_mt_posix::attribute::impl::operator delete(void*, unsigned long)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o:/home/yluo/jkit/third_party/include/boost/log/attributes/attribute_value_impl.hpp:49: more undefined references to `boost::log::v2s_mt_posix::attribute::impl::operator delete(void*, unsigned long)' follow
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attribute_value boost::log::v2s_mt_posix::attributes::make_attribute_value<unsigned int&>(unsigned int&)':
/home/yluo/jkit/third_party/include/boost/log/attributes/attribute_value_impl.hpp:112: undefined reference to `boost::log::v2s_mt_posix::attribute::impl::operator new(unsigned long)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attribute_value boost::log::v2s_mt_posix::attributes::make_attribute_value<long>(long&&)':
/home/yluo/jkit/third_party/include/boost/log/attributes/attribute_value_impl.hpp:112: undefined reference to `boost::log::v2s_mt_posix::attribute::impl::operator new(unsigned long)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attributes::current_thread_id::impl::detach_from_thread()':
/home/yluo/jkit/third_party/include/boost/log/attributes/current_thread_id.hpp:79: undefined reference to `boost::log::v2s_mt_posix::aux::this_thread::get_id()'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/current_thread_id.hpp:79: undefined reference to `boost::log::v2s_mt_posix::attribute::impl::operator new(unsigned long)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attributes::current_thread_id::impl::dispatch(boost::log::v2s_mt_posix::type_dispatcher&)':
/home/yluo/jkit/third_party/include/boost/log/attributes/current_thread_id.hpp:69: undefined reference to `boost::log::v2s_mt_posix::aux::this_thread::get_id()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `void boost::log::v2s_mt_posix::sinks::basic_sink_frontend::flush_backend_impl<boost::recursive_mutex, boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend<char> >(boost::recursive_mutex&, boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend<char>&, mpl_::bool_<true>)':
/home/yluo/jkit/third_party/include/boost/log/sinks/basic_sink_frontend.hpp:232: undefined reference to `boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend<char>::flush()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::detail::sp_ms_deleter<boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend<char> >::destroy()':
/home/yluo/jkit/third_party/include/boost/smart_ptr/make_shared_object.hpp:59: undefined reference to `boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend<char>::~basic_text_ostream_backend()'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/smart_ptr/make_shared_object.hpp:59: undefined reference to `boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend<char>::~basic_text_ostream_backend()'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/smart_ptr/make_shared_object.hpp:59: undefined reference to `boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend<char>::~basic_text_ostream_backend()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `void boost::log::v2s_mt_posix::sinks::basic_sink_frontend::flush_backend_impl<boost::recursive_mutex, boost::log::v2s_mt_posix::sinks::text_file_backend>(boost::recursive_mutex&, boost::log::v2s_mt_posix::sinks::text_file_backend&, mpl_::bool_<true>)':
/home/yluo/jkit/third_party/include/boost/log/sinks/basic_sink_frontend.hpp:232: undefined reference to `boost::log::v2s_mt_posix::sinks::text_file_backend::flush()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::detail::sp_ms_deleter<boost::log::v2s_mt_posix::sinks::text_file_backend>::destroy()':
/home/yluo/jkit/third_party/include/boost/smart_ptr/make_shared_object.hpp:59: undefined reference to `boost::log::v2s_mt_posix::sinks::text_file_backend::~text_file_backend()'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/smart_ptr/make_shared_object.hpp:59: undefined reference to `boost::log::v2s_mt_posix::sinks::text_file_backend::~text_file_backend()'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/smart_ptr/make_shared_object.hpp:59: undefined reference to `boost::log::v2s_mt_posix::sinks::text_file_backend::~text_file_backend()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::format_fractional_seconds(boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::context&)':
/home/yluo/jkit/third_party/include/boost/log/detail/decomposed_time.hpp:270: undefined reference to `void boost::log::v2s_mt_posix::aux::put_integer<char>(boost::log::v2s_mt_posix::aux::basic_ostringstreambuf<char, std::char_traits<char>, std::allocator<char> >&, unsigned int, unsigned int, char)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::format_seconds(boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::context&)':
/home/yluo/jkit/third_party/include/boost/log/detail/decomposed_time.hpp:265: undefined reference to `void boost::log::v2s_mt_posix::aux::put_integer<char>(boost::log::v2s_mt_posix::aux::basic_ostringstreambuf<char, std::char_traits<char>, std::allocator<char> >&, unsigned int, unsigned int, char)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::format_minutes(boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::context&)':
/home/yluo/jkit/third_party/include/boost/log/detail/decomposed_time.hpp:260: undefined reference to `void boost::log::v2s_mt_posix::aux::put_integer<char>(boost::log::v2s_mt_posix::aux::basic_ostringstreambuf<char, std::char_traits<char>, std::allocator<char> >&, unsigned int, unsigned int, char)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `void boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::format_hours_12<(char)32>(boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::context&)':
/home/yluo/jkit/third_party/include/boost/log/detail/decomposed_time.hpp:255: undefined reference to `void boost::log::v2s_mt_posix::aux::put_integer<char>(boost::log::v2s_mt_posix::aux::basic_ostringstreambuf<char, std::char_traits<char>, std::allocator<char> >&, unsigned int, unsigned int, char)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `void boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::format_hours_12<(char)48>(boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::context&)':
/home/yluo/jkit/third_party/include/boost/log/detail/decomposed_time.hpp:255: undefined reference to `void boost::log::v2s_mt_posix::aux::put_integer<char>(boost::log::v2s_mt_posix::aux::basic_ostringstreambuf<char, std::char_traits<char>, std::allocator<char> >&, unsigned int, unsigned int, char)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o:/home/yluo/jkit/third_party/include/boost/log/detail/decomposed_time.hpp:249: more undefined references to `void boost::log::v2s_mt_posix::aux::put_integer<char>(boost::log::v2s_mt_posix::aux::basic_ostringstreambuf<char, std::char_traits<char>, std::allocator<char> >&, unsigned int, unsigned int, char)' follow
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attribute_value boost::log::v2s_mt_posix::attributes::make_attribute_value<boost::fibers::context::id>(boost::fibers::context::id&&)':
/home/yluo/jkit/third_party/include/boost/log/attributes/attribute_value_impl.hpp:112: undefined reference to `boost::log::v2s_mt_posix::attribute::impl::operator new(unsigned long)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `std::basic_ostream<char, std::char_traits<char> >& boost::log::v2s_mt_posix::trivial::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, boost::log::v2s_mt_posix::trivial::severity_level)':
/home/yluo/jkit/third_party/include/boost/log/trivial.hpp:71: undefined reference to `char const* boost::log::v2s_mt_posix::trivial::to_string<char>(boost::log::v2s_mt_posix::trivial::severity_level)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::format_week_day(boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapper<boost::posix_time::ptime>, char>::context&)':
/home/yluo/jkit/third_party/include/boost/log/detail/decomposed_time.hpp:243: undefined reference to `void boost::log::v2s_mt_posix::aux::put_integer<char>(boost::log::v2s_mt_posix::aux::basic_ostringstreambuf<char, std::char_traits<char>, std::allocator<char> >&, unsigned int, unsigned int, char)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::detail::sp_if_not_array<boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend<char> >::type boost::make_shared<boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend<char>>()':
/usr/include/c++/9/new:174: undefined reference to `boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend<char>::basic_text_ostream_backend()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::add_common_attributes()':
/home/yluo/jkit/third_party/include/boost/log/utility/setup/common_attributes.hpp:53: undefined reference to `boost::log::v2s_mt_posix::core::get()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attributes::counter<unsigned int>::counter(unsigned int, unsigned int)':
/home/yluo/jkit/third_party/include/boost/log/attributes/counter.hpp:97: undefined reference to `boost::log::v2s_mt_posix::attribute::impl::operator new(unsigned long)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::add_common_attributes()':
/home/yluo/jkit/third_party/include/boost/log/utility/setup/common_attributes.hpp:55: undefined reference to `boost::log::v2s_mt_posix::aux::default_attribute_names::line_id()'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/utility/setup/common_attributes.hpp:56: undefined reference to `boost::log::v2s_mt_posix::core::add_global_attribute(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attributes::basic_clock<boost::log::v2s_mt_posix::attributes::local_time_traits>::basic_clock()':
/home/yluo/jkit/third_party/include/boost/log/attributes/clock.hpp:71: undefined reference to `boost::log::v2s_mt_posix::attribute::impl::operator new(unsigned long)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::add_common_attributes()':
/home/yluo/jkit/third_party/include/boost/log/utility/setup/common_attributes.hpp:58: undefined reference to `boost::log::v2s_mt_posix::aux::default_attribute_names::timestamp()'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/utility/setup/common_attributes.hpp:59: undefined reference to `boost::log::v2s_mt_posix::core::add_global_attribute(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attributes::current_process_id::current_process_id()':
/home/yluo/jkit/third_party/include/boost/log/attributes/current_process_id.hpp:49: undefined reference to `boost::log::v2s_mt_posix::aux::this_process::get_id()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attributes::constant<boost::log::v2s_mt_posix::aux::id<boost::log::v2s_mt_posix::aux::process> >::constant(boost::log::v2s_mt_posix::aux::id<boost::log::v2s_mt_posix::aux::process>&&)':
/home/yluo/jkit/third_party/include/boost/log/attributes/constant.hpp:84: undefined reference to `boost::log::v2s_mt_posix::attribute::impl::operator new(unsigned long)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::add_common_attributes()':
/home/yluo/jkit/third_party/include/boost/log/utility/setup/common_attributes.hpp:61: undefined reference to `boost::log::v2s_mt_posix::aux::default_attribute_names::process_id()'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/utility/setup/common_attributes.hpp:62: undefined reference to `boost::log::v2s_mt_posix::core::add_global_attribute(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attributes::current_thread_id::current_thread_id()':
/home/yluo/jkit/third_party/include/boost/log/attributes/current_thread_id.hpp:89: undefined reference to `boost::log::v2s_mt_posix::attribute::impl::operator new(unsigned long)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::add_common_attributes()':
/home/yluo/jkit/third_party/include/boost/log/utility/setup/common_attributes.hpp:65: undefined reference to `boost::log::v2s_mt_posix::aux::default_attribute_names::thread_id()'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/utility/setup/common_attributes.hpp:66: undefined reference to `boost::log::v2s_mt_posix::core::add_global_attribute(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::visitation_result boost::log::v2s_mt_posix::value_visitor_invoker<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none>::operator()<boost::log::v2s_mt_posix::sinks::basic_custom_mapping<boost::log::v2s_mt_posix::sinks::syslog::level, boost::log::v2s_mt_posix::trivial::severity_level>::visitor>(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&, boost::log::v2s_mt_posix::sinks::basic_custom_mapping<boost::log::v2s_mt_posix::sinks::syslog::level, boost::log::v2s_mt_posix::trivial::severity_level>::visitor) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:182: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::find(boost::log::v2s_mt_posix::attribute_name) const'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:183: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::end() const'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:191: undefined reference to `boost::log::v2s_mt_posix::aux::attach_attribute_name_info(boost::exception&, boost::log::v2s_mt_posix::attribute_name const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::value_extractor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, void>::operator()(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_extraction.hpp:232: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::find(boost::log::v2s_mt_posix::attribute_name) const'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/value_extraction.hpp:233: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::end() const'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/value_extraction.hpp:241: undefined reference to `boost::log::v2s_mt_posix::aux::attach_attribute_name_info(boost::exception&, boost::log::v2s_mt_posix::attribute_name const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::sinks::syslog_udp5424_backend::set_target_address(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned short)':
/home/yluo/jkit/common/logger.cpp:61: undefined reference to `boost::log::v2s_mt_posix::aux::get_process_name[abi:cxx11]()'
/usr/bin/ld: /home/yluo/jkit/common/logger.cpp:66: undefined reference to `boost::log::v2s_mt_posix::aux::this_process::get_id()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::expressions::tag::message::get_name()':
/home/yluo/jkit/third_party/include/boost/log/expressions/message.hpp:56: undefined reference to `boost::log::v2s_mt_posix::aux::default_attribute_names::message()'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/expressions/message.hpp:56: undefined reference to `boost::log::v2s_mt_posix::aux::default_attribute_names::message()'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/expressions/message.hpp:56: undefined reference to `boost::log::v2s_mt_posix::aux::default_attribute_names::message()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `void boost::log::v2s_mt_posix::sinks::text_file_backend::construct<boost::parameter::aux::flat_like_arg_list<boost::parameter::aux::flat_like_arg_tuple<boost::log::v2s_mt_posix::keywords::tag::file_name, boost::parameter::aux::tagged_argument_rref<boost::log::v2s_mt_posix::keywords::tag::file_name, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::integral_constant<bool, true> >, boost::parameter::aux::flat_like_arg_tuple<boost::log::v2s_mt_posix::keywords::tag::rotation_size, boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::rotation_size, int const>, std::integral_constant<bool, true> > > >(boost::parameter::aux::flat_like_arg_list<boost::parameter::aux::flat_like_arg_tuple<boost::log::v2s_mt_posix::keywords::tag::file_name, boost::parameter::aux::tagged_argument_rref<boost::log::v2s_mt_posix::keywords::tag::file_name, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::integral_constant<bool, true> >, boost::parameter::aux::flat_like_arg_tuple<boost::log::v2s_mt_posix::keywords::tag::rotation_size, boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::rotation_size, int const>, std::integral_constant<bool, true> > > const&)':
/home/yluo/jkit/third_party/include/boost/log/sinks/text_file_backend.hpp:575: undefined reference to `boost::log::v2s_mt_posix::sinks::text_file_backend::construct(boost::filesystem::path const&, boost::filesystem::path const&, std::_Ios_Openmode, unsigned long, boost::log::v2s_mt_posix::aux::light_function<bool ()> const&, boost::log::v2s_mt_posix::sinks::auto_newline_mode, bool, bool)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::visitation_result boost::log::v2s_mt_posix::value_visitor_invoker<boost::posix_time::ptime, boost::log::v2s_mt_posix::fallback_to_none>::operator()<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&, boost::posix_time::ptime const&)> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&> >(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&, boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&, boost::posix_time::ptime const&)> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&>) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:182: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::find(boost::log::v2s_mt_posix::attribute_name) const'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:183: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::end() const'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::visitation_result boost::log::v2s_mt_posix::value_visitor_invoker<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none>::operator()<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&> >(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&, boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&>) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:182: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::find(boost::log::v2s_mt_posix::attribute_name) const'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:183: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::end() const'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::visitation_result boost::log::v2s_mt_posix::value_visitor_invoker<long, boost::log::v2s_mt_posix::fallback_to_none>::operator()<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&> >(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&, boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&>) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:182: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::find(boost::log::v2s_mt_posix::attribute_name) const'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:183: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::end() const'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::visitation_result boost::log::v2s_mt_posix::value_visitor_invoker<boost::fibers::context::id, boost::log::v2s_mt_posix::fallback_to_none>::operator()<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&> >(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&, boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&>) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:182: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::find(boost::log::v2s_mt_posix::attribute_name) const'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:183: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::end() const'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::value_extractor<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::expressions::tag::smessage>::operator()(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_extraction.hpp:232: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::find(boost::log::v2s_mt_posix::attribute_name) const'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/value_extraction.hpp:233: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::end() const'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::visitation_result boost::log::v2s_mt_posix::value_visitor_invoker<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none>::operator()<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&> >(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&, boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&>) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:191: undefined reference to `boost::log::v2s_mt_posix::aux::attach_attribute_name_info(boost::exception&, boost::log::v2s_mt_posix::attribute_name const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::value_extractor<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::expressions::tag::smessage>::operator()(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_extraction.hpp:241: undefined reference to `boost::log::v2s_mt_posix::aux::attach_attribute_name_info(boost::exception&, boost::log::v2s_mt_posix::attribute_name const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::visitation_result boost::log::v2s_mt_posix::value_visitor_invoker<boost::fibers::context::id, boost::log::v2s_mt_posix::fallback_to_none>::operator()<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&> >(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&, boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&>) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:191: undefined reference to `boost::log::v2s_mt_posix::aux::attach_attribute_name_info(boost::exception&, boost::log::v2s_mt_posix::attribute_name const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::visitation_result boost::log::v2s_mt_posix::value_visitor_invoker<long, boost::log::v2s_mt_posix::fallback_to_none>::operator()<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&> >(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&, boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&>) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:191: undefined reference to `boost::log::v2s_mt_posix::aux::attach_attribute_name_info(boost::exception&, boost::log::v2s_mt_posix::attribute_name const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::visitation_result boost::log::v2s_mt_posix::value_visitor_invoker<boost::posix_time::ptime, boost::log::v2s_mt_posix::fallback_to_none>::operator()<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&, boost::posix_time::ptime const&)> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&> >(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&, boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&, boost::posix_time::ptime const&)> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&>) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:191: undefined reference to `boost::log::v2s_mt_posix::aux::attach_attribute_name_info(boost::exception&, boost::log::v2s_mt_posix::attribute_name const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::visitation_result boost::log::v2s_mt_posix::value_visitor_invoker<boost::mpl::vector2<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, boost::log::v2s_mt_posix::fallback_to_none>::operator()<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::output_fun, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> > >&> >(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&, boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::output_fun, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> > >&>) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:182: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::find(boost::log::v2s_mt_posix::attribute_name) const'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:183: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::end() const'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::aux::once_block_sentry::executed() const':
/home/yluo/jkit/third_party/include/boost/log/utility/once_block.hpp:91: undefined reference to `boost::log::v2s_mt_posix::aux::once_block_sentry::enter_once_block() const'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::array<std::pair<boost::typeindex::stl_type_index, void*>, 2ul> const& boost::log::v2s_mt_posix::aux::type_sequence_dispatcher<boost::mpl::vector2<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::get_dispatching_map<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::output_fun, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> > >&> >()':
/home/yluo/jkit/third_party/include/boost/log/utility/type_dispatch/static_type_dispatcher.hpp:182: undefined reference to `boost::log::v2s_mt_posix::aux::once_block_sentry::commit()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::aux::once_block_sentry::~once_block_sentry()':
/home/yluo/jkit/third_party/include/boost/log/utility/once_block.hpp:86: undefined reference to `boost::log::v2s_mt_posix::aux::once_block_sentry::rollback()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::visitation_result boost::log::v2s_mt_posix::value_visitor_invoker<boost::mpl::vector2<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, boost::log::v2s_mt_posix::fallback_to_none>::operator()<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::output_fun, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> > >&> >(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&, boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::output_fun, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> > >&>) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:191: undefined reference to `boost::log::v2s_mt_posix::aux::attach_attribute_name_info(boost::exception&, boost::log::v2s_mt_posix::attribute_name const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::enable_if_c<(boost::log::v2s_mt_posix::aux::is_character_type<wchar_t>::value&&boost::log::v2s_mt_posix::aux::is_character_type<char>::value)&&((sizeof (wchar_t))!=(sizeof (char))), bool>::type boost::log::v2s_mt_posix::aux::code_convert<wchar_t, char, std::char_traits<char>, std::allocator<char> >(wchar_t const*, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long, std::locale const&)':
/home/yluo/jkit/third_party/include/boost/log/detail/code_conversion.hpp:133: undefined reference to `boost::log::v2s_mt_posix::aux::code_convert_impl(wchar_t const*, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long, std::locale const&)'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/detail/code_conversion.hpp:133: undefined reference to `boost::log::v2s_mt_posix::aux::code_convert_impl(wchar_t const*, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long, std::locale const&)'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/detail/code_conversion.hpp:133: undefined reference to `boost::log::v2s_mt_posix::aux::code_convert_impl(wchar_t const*, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long, std::locale const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::visitation_result boost::log::v2s_mt_posix::value_visitor_invoker<boost::posix_time::ptime, boost::log::v2s_mt_posix::fallback_to_none>::operator()<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&, boost::posix_time::ptime const&)> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&> >(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&, boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&, boost::posix_time::ptime const&)> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&>) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:182: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::find(boost::log::v2s_mt_posix::attribute_name) const'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:183: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::end() const'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::visitation_result boost::log::v2s_mt_posix::value_visitor_invoker<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none>::operator()<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&> >(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&, boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&>) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:182: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::find(boost::log::v2s_mt_posix::attribute_name) const'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:183: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::end() const'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::visitation_result boost::log::v2s_mt_posix::value_visitor_invoker<long, boost::log::v2s_mt_posix::fallback_to_none>::operator()<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&> >(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&, boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&>) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:182: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::find(boost::log::v2s_mt_posix::attribute_name) const'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:183: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::end() const'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::visitation_result boost::log::v2s_mt_posix::value_visitor_invoker<boost::fibers::context::id, boost::log::v2s_mt_posix::fallback_to_none>::operator()<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&> >(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&, boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&>) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:182: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::find(boost::log::v2s_mt_posix::attribute_name) const'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:183: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::end() const'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::value_extractor<boost::mpl::vector2<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::expressions::tag::message>::operator()(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_extraction.hpp:232: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::find(boost::log::v2s_mt_posix::attribute_name) const'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/attributes/value_extraction.hpp:233: undefined reference to `boost::log::v2s_mt_posix::attribute_value_set::end() const'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::aux::once_block_sentry::executed() const':
/home/yluo/jkit/third_party/include/boost/log/utility/once_block.hpp:91: undefined reference to `boost::log::v2s_mt_posix::aux::once_block_sentry::enter_once_block() const'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::array<std::pair<boost::typeindex::stl_type_index, void*>, 2ul> const& boost::log::v2s_mt_posix::aux::type_sequence_dispatcher<boost::mpl::vector2<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::get_dispatching_map<boost::log::v2s_mt_posix::aux::value_ref_initializer<boost::log::v2s_mt_posix::value_ref<boost::mpl::vector2<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, boost::log::v2s_mt_posix::expressions::tag::message> > >()':
/home/yluo/jkit/third_party/include/boost/log/utility/type_dispatch/static_type_dispatcher.hpp:182: undefined reference to `boost::log::v2s_mt_posix::aux::once_block_sentry::commit()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::aux::once_block_sentry::~once_block_sentry()':
/home/yluo/jkit/third_party/include/boost/log/utility/once_block.hpp:86: undefined reference to `boost::log::v2s_mt_posix::aux::once_block_sentry::rollback()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::visitation_result boost::log::v2s_mt_posix::value_visitor_invoker<boost::fibers::context::id, boost::log::v2s_mt_posix::fallback_to_none>::operator()<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&> >(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&, boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&>) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:191: undefined reference to `boost::log::v2s_mt_posix::aux::attach_attribute_name_info(boost::exception&, boost::log::v2s_mt_posix::attribute_name const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::visitation_result boost::log::v2s_mt_posix::value_visitor_invoker<long, boost::log::v2s_mt_posix::fallback_to_none>::operator()<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&> >(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&, boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&>) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:191: undefined reference to `boost::log::v2s_mt_posix::aux::attach_attribute_name_info(boost::exception&, boost::log::v2s_mt_posix::attribute_name const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::visitation_result boost::log::v2s_mt_posix::value_visitor_invoker<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none>::operator()<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&> >(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&, boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::to_log_fun<void> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&>) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:191: undefined reference to `boost::log::v2s_mt_posix::aux::attach_attribute_name_info(boost::exception&, boost::log::v2s_mt_posix::attribute_name const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::visitation_result boost::log::v2s_mt_posix::value_visitor_invoker<boost::posix_time::ptime, boost::log::v2s_mt_posix::fallback_to_none>::operator()<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&, boost::posix_time::ptime const&)> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&> >(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&, boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&, boost::posix_time::ptime const&)> const&, boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits<char>, std::allocator<char> >&>) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_visitation.hpp:191: undefined reference to `boost::log::v2s_mt_posix::aux::attach_attribute_name_info(boost::exception&, boost::log::v2s_mt_posix::attribute_name const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::value_extractor<boost::mpl::vector2<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::expressions::tag::message>::operator()(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&) const':
/home/yluo/jkit/third_party/include/boost/log/attributes/value_extraction.hpp:241: undefined reference to `boost::log::v2s_mt_posix::aux::attach_attribute_name_info(boost::exception&, boost::log::v2s_mt_posix::attribute_name const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::enable_if_c<(boost::log::v2s_mt_posix::aux::is_character_type<wchar_t>::value&&boost::log::v2s_mt_posix::aux::is_character_type<char>::value)&&((sizeof (wchar_t))!=(sizeof (char))), bool>::type boost::log::v2s_mt_posix::aux::code_convert<wchar_t, char, std::char_traits<char>, std::allocator<char> >(wchar_t const*, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long, std::locale const&)':
/home/yluo/jkit/third_party/include/boost/log/detail/code_conversion.hpp:133: undefined reference to `boost::log::v2s_mt_posix::aux::code_convert_impl(wchar_t const*, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long, std::locale const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `void boost::log::v2s_mt_posix::sinks::basic_formatting_sink_frontend<char>::feed_record<boost::log::v2s_mt_posix::aux::fake_mutex, boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend<char> >(boost::log::v2s_mt_posix::record_view const&, boost::log::v2s_mt_posix::aux::fake_mutex&, boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend<char>&)':
/home/yluo/jkit/third_party/include/boost/log/sinks/basic_sink_frontend.hpp:465: undefined reference to `boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend<char>::consume(boost::log::v2s_mt_posix::record_view const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `void boost::log::v2s_mt_posix::sinks::basic_formatting_sink_frontend<char>::feed_record<boost::recursive_mutex, boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend<char> >(boost::log::v2s_mt_posix::record_view const&, boost::recursive_mutex&, boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend<char>&)':
/home/yluo/jkit/third_party/include/boost/log/sinks/basic_sink_frontend.hpp:465: undefined reference to `boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend<char>::consume(boost::log::v2s_mt_posix::record_view const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `void boost::log::v2s_mt_posix::sinks::basic_formatting_sink_frontend<char>::feed_record<boost::log::v2s_mt_posix::aux::fake_mutex, boost::log::v2s_mt_posix::sinks::text_file_backend>(boost::log::v2s_mt_posix::record_view const&, boost::log::v2s_mt_posix::aux::fake_mutex&, boost::log::v2s_mt_posix::sinks::text_file_backend&)':
/home/yluo/jkit/third_party/include/boost/log/sinks/basic_sink_frontend.hpp:465: undefined reference to `boost::log::v2s_mt_posix::sinks::text_file_backend::consume(boost::log::v2s_mt_posix::record_view const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `void boost::log::v2s_mt_posix::sinks::basic_formatting_sink_frontend<char>::feed_record<boost::recursive_mutex, boost::log::v2s_mt_posix::sinks::text_file_backend>(boost::log::v2s_mt_posix::record_view const&, boost::recursive_mutex&, boost::log::v2s_mt_posix::sinks::text_file_backend&)':
/home/yluo/jkit/third_party/include/boost/log/sinks/basic_sink_frontend.hpp:465: undefined reference to `boost::log::v2s_mt_posix::sinks::text_file_backend::consume(boost::log::v2s_mt_posix::record_view const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/common/logger.cpp.o: in function `boost::log::v2s_mt_posix::attributes::basic_clock<boost::log::v2s_mt_posix::attributes::local_time_traits>::impl::get_value()':
/home/yluo/jkit/third_party/include/boost/log/attributes/clock.hpp:63: undefined reference to `boost::log::v2s_mt_posix::attribute::impl::operator new(unsigned long)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `HttpApiServer::accept()':
/home/yluo/jkit/http/http_api_server.cpp:175: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: /home/yluo/jkit/http/http_api_server.cpp:175: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::aux::record_pump<boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level>&, boost::log::v2s_mt_posix::record&)':
/home/yluo/jkit/third_party/include/boost/log/sources/record_ostream.hpp:508: undefined reference to `boost::log::v2s_mt_posix::aux::stream_provider<char>::allocate_compound(boost::log::v2s_mt_posix::record&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `HttpApiServer::accept()':
/home/yluo/jkit/http/http_api_server.cpp:185: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: /home/yluo/jkit/http/http_api_server.cpp:185: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::aux::record_pump<boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level>&, boost::log::v2s_mt_posix::record&)':
/home/yluo/jkit/third_party/include/boost/log/sources/record_ostream.hpp:508: undefined reference to `boost::log::v2s_mt_posix::aux::stream_provider<char>::allocate_compound(boost::log::v2s_mt_posix::record&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::core::push_record(boost::log::v2s_mt_posix::record&&)':
/home/yluo/jkit/third_party/include/boost/log/core/core.hpp:308: undefined reference to `boost::log::v2s_mt_posix::core::push_record_move(boost::log::v2s_mt_posix::record&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::aux::record_pump<boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level> >::auto_release::~auto_release()':
/home/yluo/jkit/third_party/include/boost/log/sources/record_ostream.hpp:493: undefined reference to `boost::log::v2s_mt_posix::aux::stream_provider<char>::release_compound(boost::log::v2s_mt_posix::aux::stream_provider<char>::stream_compound*)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `HttpApiServer::accept()':
/home/yluo/jkit/http/http_api_server.cpp:180: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: /home/yluo/jkit/http/http_api_server.cpp:180: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::aux::record_pump<boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level>&, boost::log::v2s_mt_posix::record&)':
/home/yluo/jkit/third_party/include/boost/log/sources/record_ostream.hpp:508: undefined reference to `boost::log::v2s_mt_posix::aux::stream_provider<char>::allocate_compound(boost::log::v2s_mt_posix::record&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `HttpApiServer::session(boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > >, boost::beast::unlimited_rate_policy>&)':
/home/yluo/jkit/http/http_api_server.cpp:120: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: /home/yluo/jkit/http/http_api_server.cpp:120: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::aux::record_pump<boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level>&, boost::log::v2s_mt_posix::record&)':
/home/yluo/jkit/third_party/include/boost/log/sources/record_ostream.hpp:508: undefined reference to `boost::log::v2s_mt_posix::aux::stream_provider<char>::allocate_compound(boost::log::v2s_mt_posix::record&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `HttpApiServer::session(boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > >, boost::beast::unlimited_rate_policy>&)':
/home/yluo/jkit/http/http_api_server.cpp:136: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: /home/yluo/jkit/http/http_api_server.cpp:136: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::aux::record_pump<boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level>&, boost::log::v2s_mt_posix::record&)':
/home/yluo/jkit/third_party/include/boost/log/sources/record_ostream.hpp:508: undefined reference to `boost::log::v2s_mt_posix::aux::stream_provider<char>::allocate_compound(boost::log::v2s_mt_posix::record&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `HttpApiServer::session(boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > >, boost::beast::unlimited_rate_policy>&)':
/home/yluo/jkit/http/http_api_server.cpp:140: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: /home/yluo/jkit/http/http_api_server.cpp:140: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::aux::record_pump<boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level>&, boost::log::v2s_mt_posix::record&)':
/home/yluo/jkit/third_party/include/boost/log/sources/record_ostream.hpp:508: undefined reference to `boost::log::v2s_mt_posix::aux::stream_provider<char>::allocate_compound(boost::log::v2s_mt_posix::record&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `HttpApiServer::session(boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > >, boost::beast::unlimited_rate_policy>&)':
/home/yluo/jkit/http/http_api_server.cpp:26: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `set_socket_opt':
/home/yluo/jkit/http/http_api_server.cpp:26: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::aux::record_pump<boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level>&, boost::log::v2s_mt_posix::record&)':
/home/yluo/jkit/third_party/include/boost/log/sources/record_ostream.hpp:508: undefined reference to `boost::log::v2s_mt_posix::aux::stream_provider<char>::allocate_compound(boost::log::v2s_mt_posix::record&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `set_socket_opt':
/home/yluo/jkit/http/http_api_server.cpp:21: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: /home/yluo/jkit/http/http_api_server.cpp:21: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::aux::record_pump<boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level>&, boost::log::v2s_mt_posix::record&)':
/home/yluo/jkit/third_party/include/boost/log/sources/record_ostream.hpp:508: undefined reference to `boost::log::v2s_mt_posix::aux::stream_provider<char>::allocate_compound(boost::log::v2s_mt_posix::record&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `set_socket_opt':
/home/yluo/jkit/http/http_api_server.cpp:16: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: /home/yluo/jkit/http/http_api_server.cpp:16: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::aux::record_pump<boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level>&, boost::log::v2s_mt_posix::record&)':
/home/yluo/jkit/third_party/include/boost/log/sources/record_ostream.hpp:508: undefined reference to `boost::log::v2s_mt_posix::aux::stream_provider<char>::allocate_compound(boost::log::v2s_mt_posix::record&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `HttpApiServer::session(boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > >, boost::beast::unlimited_rate_policy>&)':
/home/yluo/jkit/http/http_api_server.cpp:85: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: /home/yluo/jkit/http/http_api_server.cpp:85: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::aux::record_pump<boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level>&, boost::log::v2s_mt_posix::record&)':
/home/yluo/jkit/third_party/include/boost/log/sources/record_ostream.hpp:508: undefined reference to `boost::log::v2s_mt_posix::aux::stream_provider<char>::allocate_compound(boost::log::v2s_mt_posix::record&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `set_socket_opt':
/home/yluo/jkit/http/http_api_server.cpp:31: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: /home/yluo/jkit/http/http_api_server.cpp:31: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::aux::record_pump<boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level>&, boost::log::v2s_mt_posix::record&)':
/home/yluo/jkit/third_party/include/boost/log/sources/record_ostream.hpp:508: undefined reference to `boost::log::v2s_mt_posix::aux::stream_provider<char>::allocate_compound(boost::log::v2s_mt_posix::record&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `HttpApiServer::session(boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > >, boost::beast::unlimited_rate_policy>&)':
/home/yluo/jkit/http/http_api_server.cpp:110: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: /home/yluo/jkit/http/http_api_server.cpp:110: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::aux::record_pump<boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level>&, boost::log::v2s_mt_posix::record&)':
/home/yluo/jkit/third_party/include/boost/log/sources/record_ostream.hpp:508: undefined reference to `boost::log::v2s_mt_posix::aux::stream_provider<char>::allocate_compound(boost::log::v2s_mt_posix::record&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `HttpApiServer::session(boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > >, boost::beast::unlimited_rate_policy>&)':
/home/yluo/jkit/http/http_api_server.cpp:145: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: /home/yluo/jkit/http/http_api_server.cpp:145: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::aux::record_pump<boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level>&, boost::log::v2s_mt_posix::record&)':
/home/yluo/jkit/third_party/include/boost/log/sources/record_ostream.hpp:508: undefined reference to `boost::log::v2s_mt_posix::aux::stream_provider<char>::allocate_compound(boost::log::v2s_mt_posix::record&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `HttpApiServer::session(boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > >, boost::beast::unlimited_rate_policy>&)':
/home/yluo/jkit/http/http_api_server.cpp:132: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: /home/yluo/jkit/http/http_api_server.cpp:132: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::aux::record_pump<boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level>&, boost::log::v2s_mt_posix::record&)':
/home/yluo/jkit/third_party/include/boost/log/sources/record_ostream.hpp:508: undefined reference to `boost::log::v2s_mt_posix::aux::stream_provider<char>::allocate_compound(boost::log::v2s_mt_posix::record&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `HttpApiServer::session(boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > >, boost::beast::unlimited_rate_policy>&)':
/home/yluo/jkit/http/http_api_server.cpp:124: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: /home/yluo/jkit/http/http_api_server.cpp:124: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::aux::record_pump<boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level>&, boost::log::v2s_mt_posix::record&)':
/home/yluo/jkit/third_party/include/boost/log/sources/record_ostream.hpp:508: undefined reference to `boost::log::v2s_mt_posix::aux::stream_provider<char>::allocate_compound(boost::log::v2s_mt_posix::record&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::record::reset()':
/home/yluo/jkit/third_party/include/boost/log/core/record.hpp:157: undefined reference to `boost::log::v2s_mt_posix::record_view::public_data::destroy(boost::log::v2s_mt_posix::record_view::public_data const*)'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/core/record.hpp:157: undefined reference to `boost::log::v2s_mt_posix::record_view::public_data::destroy(boost::log::v2s_mt_posix::record_view::public_data const*)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::aux::record_pump<boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level> >::auto_release::~auto_release()':
/home/yluo/jkit/third_party/include/boost/log/sources/record_ostream.hpp:493: undefined reference to `boost::log::v2s_mt_posix::aux::stream_provider<char>::release_compound(boost::log::v2s_mt_posix::aux::stream_provider<char>::stream_compound*)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::record::reset()':
/home/yluo/jkit/third_party/include/boost/log/core/record.hpp:157: undefined reference to `boost::log::v2s_mt_posix::record_view::public_data::destroy(boost::log::v2s_mt_posix::record_view::public_data const*)'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/core/record.hpp:157: undefined reference to `boost::log::v2s_mt_posix::record_view::public_data::destroy(boost::log::v2s_mt_posix::record_view::public_data const*)'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/core/record.hpp:157: undefined reference to `boost::log::v2s_mt_posix::record_view::public_data::destroy(boost::log::v2s_mt_posix::record_view::public_data const*)'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/core/record.hpp:157: undefined reference to `boost::log::v2s_mt_posix::record_view::public_data::destroy(boost::log::v2s_mt_posix::record_view::public_data const*)'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/core/record.hpp:157: undefined reference to `boost::log::v2s_mt_posix::record_view::public_data::destroy(boost::log::v2s_mt_posix::record_view::public_data const*)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o:/home/yluo/jkit/third_party/include/boost/log/core/record.hpp:157: more undefined references to `boost::log::v2s_mt_posix::record_view::public_data::destroy(boost::log::v2s_mt_posix::record_view::public_data const*)' follow
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::fibers::worker_context<HttpApiServer::accept()::{lambda()#1}>::run_(boost::context::fiber&&) [clone .cold]':
/home/yluo/jkit/http/http_api_server.cpp:199: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `operator()':
/home/yluo/jkit/http/http_api_server.cpp:199: undefined reference to `boost::log::v2s_mt_posix::trivial::logger::get()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::aux::record_pump<boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level>&, boost::log::v2s_mt_posix::record&)':
/home/yluo/jkit/third_party/include/boost/log/sources/record_ostream.hpp:508: undefined reference to `boost::log::v2s_mt_posix::aux::stream_provider<char>::allocate_compound(boost::log::v2s_mt_posix::record&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::record boost::log::v2s_mt_posix::sources::basic_composite_logger<char, boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level>, boost::log::v2s_mt_posix::sources::multi_thread_model<boost::log::v2s_mt_posix::aux::light_rw_mutex>, boost::log::v2s_mt_posix::sources::features<boost::log::v2s_mt_posix::sources::severity<boost::log::v2s_mt_posix::trivial::severity_level> > >::open_record<boost::parameter::aux::tagged_argument_list_of_1<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::severity, boost::log::v2s_mt_posix::trivial::severity_level const> > >(boost::parameter::aux::tagged_argument_list_of_1<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::severity, boost::log::v2s_mt_posix::trivial::severity_level const> > const&)':
/home/yluo/jkit/third_party/include/boost/log/sources/basic_logger.hpp:460: undefined reference to `boost::log::v2s_mt_posix::core::get_logging_enabled() const'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::sources::aux::severity_level<boost::log::v2s_mt_posix::trivial::severity_level>::set_value(boost::log::v2s_mt_posix::trivial::severity_level)':
/home/yluo/jkit/third_party/include/boost/log/sources/severity_feature.hpp:137: undefined reference to `boost::log::v2s_mt_posix::sources::aux::get_severity_level()'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::record boost::log::v2s_mt_posix::sources::basic_logger<char, boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level>, boost::log::v2s_mt_posix::sources::multi_thread_model<boost::log::v2s_mt_posix::aux::light_rw_mutex> >::open_record_unlocked<boost::parameter::aux::tagged_argument_list_of_1<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::severity, boost::log::v2s_mt_posix::trivial::severity_level const> > >(boost::parameter::aux::tagged_argument_list_of_1<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::severity, boost::log::v2s_mt_posix::trivial::severity_level const> > const&)':
/home/yluo/jkit/third_party/include/boost/log/sources/basic_logger.hpp:260: undefined reference to `boost::log::v2s_mt_posix::core::open_record(boost::log::v2s_mt_posix::attribute_set const&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::core::push_record(boost::log::v2s_mt_posix::record&&)':
/home/yluo/jkit/third_party/include/boost/log/core/core.hpp:308: undefined reference to `boost::log::v2s_mt_posix::core::push_record_move(boost::log::v2s_mt_posix::record&)'
/usr/bin/ld: CMakeFiles/http_test_server.dir/http/http_api_server.cpp.o: in function `boost::log::v2s_mt_posix::aux::record_pump<boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level> >::auto_release::~auto_release()':
/home/yluo/jkit/third_party/include/boost/log/sources/record_ostream.hpp:493: undefined reference to `boost::log::v2s_mt_posix::aux::stream_provider<char>::release_compound(boost::log::v2s_mt_posix::aux::stream_provider<char>::stream_compound*)'
/usr/bin/ld: /home/yluo/jkit/third_party/include/boost/log/sources/record_ostream.hpp:493: undefined reference to `boost::log::v2s_mt_posix::aux::stream_provider<char>::release_compound(boost::log::v2s_mt_posix::aux::stream_provider<char>::stream_compound*)'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/http_test_server.dir/build.make:129: ../bin/http_test_server] Error 1
make[2]: Leaving directory '/home/yluo/jkit/build'
make[1]: *** [CMakeFiles/Makefile2:78: CMakeFiles/http_test_server.dir/all] Error 2
make[1]: Leaving directory '/home/yluo/jkit/build'
make: *** [Makefile:84: all] Error 2

你好关于boost fiber报错的问题

#define BOOST_COROUTINES_NO_DEPRECATION_WARNING
#include
#include <boost/asio.hpp>
#include <boost/asio/spawn.hpp>
#include <boost/bind.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/make_shared.hpp>
#include
#include
#include
#include <boost/asio/post.hpp>
#include <boost/enable_shared_from_this.hpp>

using namespace boost::asio;
using std::cerr;
using std::endl;

#include <boost/asio/ip/udp.hpp>
#include <boost/fiber/all.hpp>
#include <boost/asio/io_context.hpp>
#include <boost/asio/ip/tcp.hpp>
#include <boost/asio/spawn.hpp>
#include <boost/asio/steady_timer.hpp>
#include <boost/asio/write.hpp>
#include <boost/bind.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/enable_shared_from_this.hpp>
#include
#include
#include
#include <boost/fiber/future.hpp>
#include
#include <boost/asio/use_fiber_future.hpp>

using boost::asio::ip::tcp;

class session : public boost::enable_shared_from_this
{
public:
explicit session(boost::asio::io_context& io_context)
: strand_(io_context),
socket_(io_context),
timer_(io_context)
{
}

tcp::socket& socket()
{
return socket_;
}

void go(boost::asio::io_context& io)
{

// boost::asio::spawn(strand_,
// boost::bind(&session::echo,
// shared_from_this(),boost::ref(io), 1));
// std::cout<<"go:"<<std::this_thread::get_id()<<std::endl;
// boost::asio::spawn(strand
,
// boost::bind(&session::timeout,
// shared_from_this(), _1));

  boost::fibers::fiber([&]{

    shared_from_this();
    boost::fibers::future<std::size_t> f;
    boost::system::error_code ec;
    std::future<std::size_t> fut ;
    while(true)
    {
        try
        {
            f = socket_.async_read_some(boost::asio::buffer(data), boost::asio::fibers::use_future([](const boost::system::error_code& ec, std::size_t n){
                                          return ec ? 0 : n;
                                      }));


           socket_.async_write_some(boost::asio::buffer(data), boost::asio::fibers::use_future([](boost::system::error_code ec, size_t n) {
                                       return ec;
                                   }));
        }
        catch (std::system_error& e)
        {
            std::cout << e.what() << "," << typeid(e).name();
            break;
        }

    }
  });

}

private:
void do_read()
{

}
// void echo(boost::asio::io_context& io_context,boost::asio::yield_context yield)
// {
// try
// {

// std::cout<<"echo:"<<std::this_thread::get_id()<<std::endl;

// for (;;)
// {

// std::cout<<"expires_after:"<<std::this_thread::get_id()<<std::endl;
// timer_.expires_after(boost::asio::chrono::seconds(10));
// std::size_t n = socket_.async_read_some(boost::asio::buffer(data), yield);
// std::cout<<"received:"<<n<<" bytes"<<std::endl;

// boost::asio::post(io_context, boost::bind(&session::otherWork, shared_from_this(), n));

// }
// }
// catch (std::exception& e)
// {
// socket_.close();
// timer_.cancel();
// }
// }

// void timeout(boost::asio::yield_context yield)
// {
// while (socket_.is_open())
// {

// std::cout<<"timeout:"<<std::this_thread::get_id()<<std::endl;
// boost::system::error_code ignored_ec;
// timer_.async_wait(yield[ignored_ec]);
// if (timer_.expiry() <= boost::asio::steady_timer::clock_type::now())
// {
// //std::cout<<"expiry:"<<timer_.expiry().time_since_epoch().count() / 1000000000<<std::endl;
// }

// }
// }
// void otherWork(std::size_t len)
// {
// std::cout<<"send:"<<len<<" bytes"<<std::endl;
// //boost::asio::async_write(socket_, boost::asio::buffer(data, len), yield);
// boost::asio::write(socket_, boost::asio::buffer(data, len));
// std::this_thread::sleep_for(std::chrono::seconds(5));
// }
boost::asio::io_context::strand strand_;
tcp::socket socket_;
boost::asio::steady_timer timer_;
char data[128];
};

void do_accept(boost::asio::io_context& io_context, unsigned short port/,boost::asio::yield_context yield/)
{
tcp::acceptor acceptor(io_context, tcp::endpoint(tcp::v4(), port));
boost::system::error_code ec;
boost::fibers::futureboost::system::error_code f;
std::futureboost::system::error_code fut;
for (;;)
{

try
  {
      boost::shared_ptr<session> new_session(new session(io_context));

      f= acceptor.async_accept(new_session->socket(), boost::asio::fibers::use_future([&](const boost::system::error_code& ec){
           return ec;
      })) ;

      ec = f.get();
      if (!ec)
      {
          new_session->go(io_context);
      }

  }

catch (std::system_error& ec)
{
    if (ec.code().value() == boost::asio::error::no_descriptors)
    {

        continue;
    }
    else if (ec.code().value() == boost::asio::error::operation_aborted) //主动关闭结束
    {

        break;
    }

}

}
}

int main(int argc, char* argv[])
{
try
{
// if (argc != 2)
// {
// std::cerr << "Usage: echo_server \n";
// return 1;
// }
std::cout<<"main:"<<std::this_thread::get_id()<<std::endl;
boost::asio::io_context io_context;
std::thread th([&]{boost::asio::io_context::work wk(io_context);io_context.run();});
th.detach();
// std::thread th1([&]{boost::asio::io_context::work wk(io_context);io_context.run();});
// th1.detach();
// boost::asio::spawn(io_context,
// boost::bind(do_accept,
// boost::ref(io_context), 8000, _1));

boost::fibers::fiber([&]{do_accept(boost::ref(io_context), 8000);});
//do_accept(boost::ref(io_context), 8000);
getchar();

}
catch (std::exception& e)
{
std::cerr << "Exception: " << e.what() << "\n";
}

return 0;
}

acceptor.async_accept那句话在vs2017下老是报类型错误,能否帮我看一下,谢谢

post请求没数据

rt.
客户端和服务端的测试代码如下

客户端:

MultiClientHttp::init();
constexpr auto host = "127.0.0.1";
constexpr auto port = "8000";
constexpr auto target = "/";
HttpReqArgument args;
args.host = host;
args.port = port;
StrRequest req{ http::verb::post, target, 11 };
req.set(http::field::host, host);
req.body() = "Operation";
std::cout << req << std::endl;
std::cout << std::endl;
std::cout << "---------------------------" << std::endl;
std::cout << std::endl;
StrResponse res = MultiClientHttp::h1_req(req, args);
std::cout << res << std::endl;

服务端:

为图省事用的go

package main

import (
	"fmt"
	"net/http"
)

type helloHandler struct{}

func (h *helloHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
	body := make([]byte, r.ContentLength)
	r.Body.Read(body)
	s := string(body)
	fmt.Printf("Response: %v, length: %v\n", s, len(s))
	w.Write([]byte("Hello, world!"))
}

func main() {
	http.Handle("/", &helloHandler{})
	http.ListenAndServe(":8000", nil)
}

测试结果如下:

客户端测试结果:

POST / HTTP/1.1
Host: 127.0.0.1

Operation

---------------------------

HTTP/1.1 200 OK
Date: Tue, 30 Aug 2022 09:53:15 GMT
Content-Length: 13
Content-Type: text/plain; charset=utf-8

Hello, world!

服务端测试结果

Response: , length: 0

由此可见, go在这里没有解析到body.

我同时用Postman发送了一次测试, 然而这里却一切正常.
屏幕截图 2022-08-30 175648
服务端的数据也显示Body是正常收到了的

Response: 121212, length: 6

暂不清楚到底是怎么回事, 如果可以的话希望帮忙看看.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.