下載地址:http://sourceforge.net/projects/asio/files/asio/1.12.2%20%28Stable%29/api
本人下載的版本:asio-1.12.2app
1,本人環境:ui
dengzhongqiangdeMacBook-Pro:asio-1.12.2 dengzhongqiang$ clang -v Apple LLVM version 10.0.0 (clang-1000.10.44.4) Target: x86_64-apple-darwin18.5.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin
2. cd到下載的庫目錄spa
dengzhongqiangdeMacBook-Pro:asio-1.12.2 dengzhongqiang$ ./configure checking whether to enable maintainer-specific portions of Makefiles... no checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... ./install-sh -c -d checking for gawk... no checking for mawk... no checking for nawk... no checking for awk... awk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether UID '501' is supported by ustar format... yes checking whether GID '20' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking build system type... x86_64-apple-darwin18.5.0 checking host system type... x86_64-apple-darwin18.5.0 checking whether make supports the include directive... yes (GNU style) checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc understands -c and -o together... yes checking dependency style of gcc... gcc3 checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking for ranlib... ranlib checking how to run the C++ preprocessor... g++ -E checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking boost/noncopyable.hpp usability... yes checking boost/noncopyable.hpp presence... yes checking for boost/noncopyable.hpp... yes checking openssl/ssl.h usability... no checking openssl/ssl.h presence... no checking for openssl/ssl.h... no checking whether C++11 is enabled... no checking whether C++14 is enabled... no checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating include/Makefile config.status: creating src/Makefile config.status: creating src/tests/Makefile config.status: creating src/examples/cpp03/Makefile config.status: creating src/examples/cpp11/Makefile config.status: creating src/examples/cpp14/Makefile config.status: creating src/examples/cpp17/Makefile config.status: executing depfiles commands
3.執行make.net
dengzhongqiangdeMacBook-Pro:asio-1.12.2 dengzhongqiang$ make Making all in include make[1]: Nothing to be done for `all'. Making all in src Making all in examples/cpp03 g++ -I./../../../include -g -O2 -ftemplate-depth-256 -o icmp/ping icmp/ping.o Undefined symbols for architecture x86_64: "boost::chrono::steady_clock::now()", referenced from: pinger::start_send() in ping.o asio::detail::timer_queue<asio::detail::chrono_time_traits<boost::chrono::steady_clock, asio::wait_traits<boost::chrono::steady_clock> > >::wait_duration_msec(long) const in ping.o asio::detail::timer_queue<asio::detail::chrono_time_traits<boost::chrono::steady_clock, asio::wait_traits<boost::chrono::steady_clock> > >::wait_duration_usec(long) const in ping.o asio::detail::timer_queue<asio::detail::chrono_time_traits<boost::chrono::steady_clock, asio::wait_traits<boost::chrono::steady_clock> > >::get_ready_timers(asio::detail::op_queue<asio::detail::scheduler_operation>&) in ping.o pinger::handle_receive(unsigned long) in ping.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [icmp/ping] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all-recursive] Error 1
這裏執行報錯了。由於這個報錯: boost::chrono::steady_clock::now()code
分析:因爲本人沒有安裝 boost,因此就沒有這個api了。orm
解決辦法:blog
1.安裝boost庫ssl
brew install boost
而後執行 ci
./configure --with-boost='/usr/local/include'
4.安裝asio
make install