Use IMAGE_TRANSPORT_PUBLIC at class level for windows gcc build #316
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi,
When I compile this project and then some other project which uses this
image_common
on Windows with gcc, I have this kind of error:This might be a gcc only issue, when a function is
dllimport
but it has a definition (function body) at the same time.When I had a similar issue with gcc before, I chose to a safe way by moving the function body from .h to .cpp. But this time it's different since
CameraPublisher() = default;
can only be in the .h file. So in this PR I moved theIMAGE_TRANSPORT_PUBLIC
from member function level to class level.There are some places where I can move the function body from .h to .cpp, but to be consistent, class level of
IMAGE_TRANSPORT_PUBLIC
is used for all places.