
Hi All, I am attempting to get acquainted with C++ multithreaded network programming. I have a background in such topics within Java but considering how different C++ is, I am starting from ground zero. I have copied the code from tutorial #1 into my IDE, Timer.1: Using a timer synchronously: https://www.boost.org/doc/libs/1_72_0/doc/html/boost_asio/tutorial/tuttimer1... (follow the link for code). When I tried to compile this (using g++) with the following command: g++ -v -I${BOOST_ROOT} -I. -o main main.cpp (BOOST_ROOT is where I have boost installed), I get the following output: Undefined symbols for architecture x86_64: "boost::chrono::steady_clock::now()", referenced from: boost::asio::detail::chrono_time_traits<boost::chrono::steady_clock, boost::asio::wait_traits<boost::chrono::steady_clock> >::now() in main-c86634.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) Note this is the non-verbose output (I would rather not post the verbose output, as I am trying to keep this post short). I did some digging of my own on Boost's steady_timer documentation and tried to follow that style, as you can find here: https://www.boost.org/doc/libs/1_72_0/doc/html/boost_asio/reference/steady_t... In other words, I replace the two-parameter boost::asio::steady_timer ctor call with a single-parameter ctor call in which I pass an io_context, followed by t.expires_after(std::chrono::seconds(5)); This generated another compiler error, this one to do with 'no viable conversion'. See here: main.cpp:10:21: error: no viable conversion from 'std::chrono::seconds' (aka 'duration<long long>') to 'const boost::asio::basic_waitable_timer<boost::chrono::steady_clock, boost::asio::wait_traits<boost::chrono::steady_clock>, boost::asio::executor>::duration' (aka 'const duration<long long, ratio<(1L), (1000000000L)> >') t.expires_after(std::chrono::seconds(5)); Again, there is more output that I have omitted for brevity. If anyone would like to see the rest of the output, I will gladly supply it. The bottom line is I am not sure what the problem is, or why I am having to debug tutorial code in the first place. This should be relatively simple to "plug & play", should it not? Does this have to do with my compiler? BTW, I am running Mac OS X. Thanks in advance for the help. Sincerely, *AJ*