jxfwinter / jkit Goto Github PK
View Code? Open in Web Editor NEW基于boost.fiber asio beast的轻量级http应用服务器,主要用于curd开发
基于boost.fiber asio beast的轻量级http应用服务器,主要用于curd开发
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
#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下老是报类型错误,能否帮我看一下,谢谢
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发送了一次测试, 然而这里却一切正常.
服务端的数据也显示Body是正常收到了的
Response: 121212, length: 6
暂不清楚到底是怎么回事, 如果可以的话希望帮忙看看.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.