Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple export fixes for building #54

Closed

Conversation

sideeffects
Copy link

Multiple fixes for symbol exports, when building OpenEXR as a DSO/DLL:

  • Instead of relying on per-project differing setting to specify whether a DSO is being built or not, all projects now use the OPENEXR_DLL preprocessor define.
  • Harmonized the definition of _EXPORT macros. This could probably be even further centralized.
  • Added IexMathExports.h to correspond with how exports are defined in other projects.
  • Added the use of symbol visibility when building with gcc.
  • Many classes were missing _EXPORT macros.
  • throwErrnoExc had the EXPORT macro in the wrong location, leading to no export on Windows and warnings by clang.
  • Fixed a tricky export issue with libHalf lookup tables on Windows (cannot dllexport const values).

All these changes taken together clean up symbol exports on Linux, fix symbol export issues on Windows, and subsequently allow the removal of createDLL from the Windows build process.

Note: No changes have been made to Makefiles or the Visual Studio project files. We build exclusively with CMake (separate commit and pull request).

@meshula
Copy link
Contributor

meshula commented Apr 15, 2013

Piotr, I'd recommend reconciling this change with the changes I made two weeks ago, and committing the combination of the two.

meshula referenced this pull request in danielkaneider/openexr Apr 15, 2013
@meshula meshula mentioned this pull request Apr 15, 2013
@pstanczyk
Copy link
Contributor

Hey - I've just created a new branch, export fixes and patched in those changes there.
Commits:
beba5f9
3d74921
Let me know that works at your end.

@pstanczyk pstanczyk closed this Apr 17, 2013
@sideeffects
Copy link
Author

That's perfect. I need to review the final changes we've made locally, since there might be small updates to the exports that I'd like to add.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants