Per my understanding the macros XXX_BUILDING_DLL are processed (replacing `XXX_PUBLIC` by `XXX_EXPORT` instead of `XXX_IMPORT`) only if WIN32 is defined. The macros controlling this behavior can be found in the [visibility control file](https://github.com/ament/ament_index/blob/c41459dfe07e10a4449ca322efc87e17ef59cd85/ament_index_cpp/include/ament_index_cpp/visibility_control.h#L26) of each package, here `ament_index_cpp` for example). So If I understand correctly adding an `if(WIN32)` would be redundant. --- [Visit Topic](https://discourse.ros.org/t/if-win32-guard-is-missed-for-many-projects-in-ros2/2281/2) or reply to this email to respond. If you do not want to receive messages from ros-users please use the unsubscribe link below. If you use the one above, you will stop all of ros-users from receiving updates. ______________________________________________________________________________ ros-users mailing list ros-users@lists.ros.org http://lists.ros.org/mailman/listinfo/ros-users Unsubscribe: