Giter Site home page Giter Site logo

Comments (7)

MiraiHattori avatar MiraiHattori commented on June 9, 2024 1

https://index.ros.org/doc/ros2/Contributing/Developer-Guide/
にあるのは,standard libraryにあるものをわざわざboostから持ってこないようにしましょう.ということではないでしょうか.

通信関係はboost::asioを使うことが多く,これらがc++ standard libraryには移植されないであろうことを考えるとboostでもよいかもしれません.
どうしてもboostを避けるべき,ということであれば一応 asioがあり,boost::asioと同じような機能が提供されるようです.

from consai2r2.

MiraiHattori avatar MiraiHattori commented on June 9, 2024 1

ros2ではrmw_fastrtpsを用いて通信が行われているようです.
https://github.com/ros2/rmw_fastrtps/blob/master/rmw_fastrtps_cpp/package.xml#L19
によると,これはどうやら
https://github.com/eProsima/Fast-RTPS
に依存していて,
https://github.com/eProsima/Fast-RTPS/blob/ffd0e27c8c8b16ff557e655c3290a2232ab90231/cmake/modules/FindAsio.cmake
にあるように,少なくともasio(not boost::asio)には依存していそうです.

現在手元でros2を用いた最小構成のconsai2r2を構築中なのですが,依存関係で勝手にboost::asioが入っているように見えるので,そちらが何に依存しているかを調べている最中です.

from consai2r2.

MiraiHattori avatar MiraiHattori commented on June 9, 2024 1

返信ありがとうございます。
そういえば、non boostなasioを使った例を見たことがあります。これもwindowsでも入れられるもののはずです。
https://github.com/clydemcqueen/tello_ros/blob/master/tello_driver/include/tello_driver_node.hpp

from consai2r2.

ShotaAk avatar ShotaAk commented on June 9, 2024

@future731 調査ありがとうございます。
ROS2のboostに対する解釈を勘違いしてました。

通信系は標準ライブラリに入らないと思うので、boost使っても良いかなと思っています。

from consai2r2.

MiraiHattori avatar MiraiHattori commented on June 9, 2024

http://think-async.com/Asio/asio-1.11.0/doc/asio/examples/cpp11_examples.html
melodicで動くasioの例です.
最新のasio(version 1.12.2)のソースコードはio_serviceがio_contextに変わっていたりしてコンパイルが通らないので,少し古い例を載せています

from consai2r2.

MiraiHattori avatar MiraiHattori commented on June 9, 2024

https://github.com/eProsima/Fast-RTPS/blob/master/cmake/modules/FindAsio.cmake
もしnon boost asioを使うことになったときの備忘録を書いておくと,これと同じものをcmakeディレクトリに入れておくのが安心そうです.

from consai2r2.

ShotaAk avatar ShotaAk commented on June 9, 2024

boostを使うのでcloseします。

from consai2r2.

Related Issues (20)

Recommend Projects

  • React photo React

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

  • Vue.js photo Vue.js

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

  • Typescript photo Typescript

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

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

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

Recommend Topics

  • javascript

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

  • web

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

  • server

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

  • Machine learning

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

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

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

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.