{"action":"created","issue":{"url":"https://api.github.com/repos/ros2/rclcpp/issues/48","labels_url":"https://api.github.com/repos/ros2/rclcpp/issues/48/labels{/name}","comments_url":"https://api.github.com/repos/ros2/rclcpp/issues/48/comments","events_url":"https://api.github.com/repos/ros2/rclcpp/issues/48/events","html_url":"https://github.com/ros2/rclcpp/issues/48","id":90808979,"number":48,"title":"refactor into library","user":{"login":"dirk-thomas","id":1335366,"avatar_url":"https://avatars.githubusercontent.com/u/1335366?v=3","gravatar_id":"","url":"https://api.github.com/users/dirk-thomas","html_url":"https://github.com/dirk-thomas","followers_url":"https://api.github.com/users/dirk-thomas/followers","following_url":"https://api.github.com/users/dirk-thomas/following{/other_user}","gists_url":"https://api.github.com/users/dirk-thomas/gists{/gist_id}","starred_url":"https://api.github.com/users/dirk-thomas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dirk-thomas/subscriptions","organizations_url":"https://api.github.com/users/dirk-thomas/orgs","repos_url":"https://api.github.com/users/dirk-thomas/repos","events_url":"https://api.github.com/users/dirk-thomas/events{/privacy}","received_events_url":"https://api.github.com/users/dirk-thomas/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ros2/rclcpp/labels/in%20progress","name":"in progress","color":"fad8c7"}],"state":"open","locked":false,"assignee":{"login":"wjwwood","id":100427,"avatar_url":"https://avatars.githubusercontent.com/u/100427?v=3","gravatar_id":"","url":"https://api.github.com/users/wjwwood","html_url":"https://github.com/wjwwood","followers_url":"https://api.github.com/users/wjwwood/followers","following_url":"https://api.github.com/users/wjwwood/following{/other_user}","gists_url":"https://api.github.com/users/wjwwood/gists{/gist_id}","starred_url":"https://api.github.com/users/wjwwood/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wjwwood/subscriptions","organizations_url":"https://api.github.com/users/wjwwood/orgs","repos_url":"https://api.github.com/users/wjwwood/repos","events_url":"https://api.github.com/users/wjwwood/events{/privacy}","received_events_url":"https://api.github.com/users/wjwwood/received_events","type":"User","site_admin":false},"milestone":null,"comments":7,"created_at":"2015-06-24T23:53:48Z","updated_at":"2015-09-15T19:34:29Z","closed_at":null,"body":"Currently all functions are defined in the header files directly. This makes it impossible to create executables from multiple C++ files since each will include its own version of the symbol and then collide at link time."},"comment":{"url":"https://api.github.com/repos/ros2/rclcpp/issues/comments/140511938","html_url":"https://github.com/ros2/rclcpp/issues/48#issuecomment-140511938","issue_url":"https://api.github.com/repos/ros2/rclcpp/issues/48","id":140511938,"user":{"login":"wjwwood","id":100427,"avatar_url":"https://avatars.githubusercontent.com/u/100427?v=3","gravatar_id":"","url":"https://api.github.com/users/wjwwood","html_url":"https://github.com/wjwwood","followers_url":"https://api.github.com/users/wjwwood/followers","following_url":"https://api.github.com/users/wjwwood/following{/other_user}","gists_url":"https://api.github.com/users/wjwwood/gists{/gist_id}","starred_url":"https://api.github.com/users/wjwwood/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wjwwood/subscriptions","organizations_url":"https://api.github.com/users/wjwwood/orgs","repos_url":"https://api.github.com/users/wjwwood/repos","events_url":"https://api.github.com/users/wjwwood/events{/privacy}","received_events_url":"https://api.github.com/users/wjwwood/received_events","type":"User","site_admin":false},"created_at":"2015-09-15T19:34:29Z","updated_at":"2015-09-15T19:34:29Z","body":"To be more specific, it is any symbol used in a cpp file of `librclcpp` which is declared in a header or is forward declared, but is defined in the implementation specific rmw library or message library.\r\n\r\nOff the top of my head `rmw_init`, `rmw_create_node`, and `rmw_destroy_node` were in the list, since the constructor of `rclcpp::node::Node` was the first thing I tried to put in the `rclcpp` library. But there are many, which is why I made the simpler example setup in my git repo."}}