【ESP32】Boost.asio を使ったソケット通信
ubuntu への boost のインストール
boost のパッケージがリポジトリにあるかどうか探した。
$ sudo apt-cache search boost
たくさん見つかった。おそらく最新版ではなく結構古いバージョンだと思われるが、標準でサポートされているのが安心。自分でビルドすると、バージョンアップが大変だから。
インストールの仕方をググり、以下のようにインストールした。
$ sudo apt install libboost-dev libboost-tools-dev
参考URL:
boost::asio を使った同期通信
boost のチュートリアルを発見。
ビルドしてみると、
上記のコマンドでは Boost:asio はインストールされないことがわかった。さらにググったところ、
$ sudo apt search libasio-dev
libasio-dev/xenial,xenial 1:1/10.6-3 all
パッケージが存在することがわかったので
$ sudo apt install libasio-dev
でインストールした。
これでもまだリンクエラーになった。
$ g++ -Wall client_2.cpp
libboost_system の unreference deference エラーになる。ググったところ、
-lboost_system をつけるという記事を発見。これでもだめで、さらに
$ ln -s /usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0 /usr/lib/x86_64-linux-gnu/libboost_system.so
$ g++ -Wall client_2.cpp -L/usr/lib/x86_64-linux-gnu -lboost_system
これでリンクエラーがなくなった。