OPENEXR_DLL issues #625
Labels
Enhancement
A request for a change or enhancement.
Needs Discussion
To be discussed in the technical steering committee
Milestone
A very common error users encounter with OpenEXR on Windows is that they have not correctly set the OPENEXR_DLL preprocessor directive to match the OpenEXR build they are linking against. A solution, for CMake users on Windows at least, is that IlmBaseConfig.cmake and OpenEXRConfig.cmake could set the macro appropriately.
We also have generated IlmBaseConfig.h and OpenEXRConfig.h files that would be appropriate places, in a shared build, to add a chunk defining OPENEXR_DLL if it has not been set in the environment already.
See AcademySoftwareFoundation/OpenColorIO#894 for a recent example of the problem.
Historically we wanted one set of headers that would work with static and dynamic libraries living side by side in the build environment, in order to be able to have a lib directory that could be treated as a broad "SDK". A CMake driven build environment does not really work with that notion in mind, and so having a generated macro in the generated headers would better match current practice.
The text was updated successfully, but these errors were encountered: