How can I open openexr image on qt widget
-
I wanted to know how I can open images in openexr format in qt, I got to do this with png, gif and etc, which are compatible with pixelmap
-
Hi
https://api.kde.org/frameworks/kimageformats/html/index.html
Supports OpenEXR but as far as i know Qt does not naively support it. -
@Nathan-Miguel
Hi
https://community.kde.org/Guidelines_and_HOWTOs/Build_from_source/Details#kimageformatsIf you list the excact errors, im hopefull that someone can guess what is missing.
You might need to install openEXR first so plugin can find it.
-
@mrjj I used msvs 15, 17 win 64
The C compiler identification is MSVC 19.16.27024.1
The CXX compiler identification is MSVC 19.16.27024.1
Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe
Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe -- works
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Detecting C compile features
Detecting C compile features - done
Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe
Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe -- works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Detecting CXX compile features
Detecting CXX compile features - done
Could NOT find ECM (missing: ECM_DIR)- ECM (required version >= 5.53.0), Extra CMake Modules., https://projects.kde.org/projects/kdesupport/extra-cmake-modules
CMake Error at C:/Program Files/CMake/share/cmake-3.13/Modules/FeatureSummary.cmake:459 (message):
feature_summary() Error: REQUIRED package(s) are missing, aborting CMake
run.
Call Stack (most recent call first):
CMakeLists.txt:8 (feature_summary)Configuring incomplete, errors occurred!
See also "C:/Git/kimageformats/build/CMakeFiles/CMakeOutput.log". -
@Nathan-Miguel said in How can I open openexr image on qt widget:
Extra CMake Modules., https://projects.kde.org/projects/kdesupport/extra-cmake-modules
It seems to want these also. But im not sure.
something likegit clone git://anongit.kde.org/extra-cmake-modules cd extra-cmake-modules mkdir build && cd build cmake .. make && sudo make install
but hold the horse a moment. Im only guessing so give it
a few hours in case someone knows exactly if thats correct.Update:
yep, should do it. -
KDE requires their extra CMake modules. You can install them as any other KDE module
For a guide on how to compile and use the libraries see https://forum.qt.io/post/377923
-
@VRonin @mrjj It worked out right here but now I'm with error in the qt files
The C compiler identification is MSVC 19.16.27024.1
The CXX compiler identification is MSVC 19.16.27024.1
Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe
Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe -- works
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Detecting C compile features
Detecting C compile features - done
Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe
Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe -- works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Detecting CXX compile features
Detecting CXX compile features - doneNo qmake Qt5 binary found. Can't check QT_INSTALL_PREFIX
Looking for GLIBC
Looking for GLIBC - not found
Could not set up the appstream test. appstreamcli is missing.
CMake Error at CMakeLists.txt:21 (find_package):
Could not find a package configuration file provided by "Qt5Gui" (requested
version 5.9.0) with any of the following names:Qt5GuiConfig.cmake qt5gui-config.cmake
Add the installation prefix of "Qt5Gui" to CMAKE_PREFIX_PATH or set
"Qt5Gui_DIR" to a directory containing one of the above files. If "Qt5Gui"
provides a separate development package or SDK, be sure it has been
installed.Configuring incomplete, errors occurred!
See also "C:/Git/kimageformats/build/CMakeFiles/CMakeOutput.log".
See also "C:/Git/kimageformats/build/CMakeFiles/CMakeError.log". -
@Nathan-Miguel I guess you need to use MinGW
-
@jsulm I used mingw but it gave an eros too.
The C compiler identification is unknown
The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:3 (project):
The CMAKE_C_COMPILER:cl
is not a full path and was not found in the PATH.
To use the NMake generator with Visual C++, cmake must be run from a shell
that can use the compiler cl from the command line. This environment is
unable to invoke the cl compiler. To fix this problem, run cmake from the
Visual Studio Command Prompt (vcvarsall.bat).Tell CMake where to find the compiler by setting either the environment
variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
the compiler, or to the compiler name if it is in the PATH.CMake Error at CMakeLists.txt:3 (project):
The CMAKE_CXX_COMPILER:cl
is not a full path and was not found in the PATH.
To use the NMake generator with Visual C++, cmake must be run from a shell
that can use the compiler cl from the command line. This environment is
unable to invoke the cl compiler. To fix this problem, run cmake from the
Visual Studio Command Prompt (vcvarsall.bat).Tell CMake where to find the compiler by setting either the environment
variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH.Configuring incomplete, errors occurred!
See also "C:/Git/kimageformats/build/CMakeFiles/CMakeOutput.log".
See also "C:/Git/kimageformats/build/CMakeFiles/CMakeError.log". -
@jsulm @mrjj @VRonin is almost, I just need to find this folder that is highlighted and know how to include openexr libraries
Could not set up the appstream test. appstreamcli is missing.
CMake Warning at CMakeLists.txt:23 (find_package):
By not providing "FindKF5Archive.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"KF5Archive", but CMake did not find one.Could not find a package configuration file provided by "KF5Archive" with
any of the following names:KF5ArchiveConfig.cmake kf5archive-config.cmake
Add the installation prefix of "KF5Archive" to CMAKE_PREFIX_PATH or set
"KF5Archive_DIR" to a directory containing one of the above files. If
"KF5Archive" provides a separate development package or SDK, be sure it has
been installed.Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
Could NOT find OpenEXR (missing: OpenEXR_ILMIMF_LIBRARY OpenEXR_HALF_LIBRARY OpenEXR_IEX_LIBRARY OpenEXR_IMATH_LIBRARY OpenEXR_ILMTHREAD_LIBRARY OpenEXR_INCLUDE_DIR)
The following REQUIRED packages have been found:- ECM (required version >= 5.53.0), Extra CMake Modules., https://projects.kde.org/projects/kdesupport/extra-cmake-modules
- Qt5Gui (required version >= 5.9.0)
-- The following OPTIONAL packages have not been found:
- KF5Archive
Required for the QImage plugin for Krita and OpenRaster images - PkgConfig
- OpenEXR, A library for handling OpenEXR high dynamic-range image files, http://www.openexr.com/
Required for the QImage plugin for OpenEXR images
Configuring done
Generating done -
It worked out right here but now I'm with error in the qt files
No qmake Qt5 binary found. Can't check QT_INSTALL_PREFIXYou need to run qtenv2.bat as explained in the link I posted
but has some way to do this "make" on windows
Once you selected the right generator just call
cmake --build .
(don't forget the dot at the end) and CMake will automatically call the correct build toolCould not find a package configuration file provided by "KF5Archive" with
weird, KArchive is not listed as a dependency for KImageFormats. In any case it's a Tier1 Module of KDE
The following OPTIONAL packages have not been found:
KF5Archive
so it's just optional, cool.
P.S.
In my experience CMake GUI messed up my config more than it helped me build projects, I find it easier just doing it via the terminal -
@SGaist Well I'm finishing compiling the remaining dependencies, but the only thing that gave me error was to install the fade pro python library "https://stefanseefeld.github.io/faber" I performed all the right steps but the system can not find directory or error on line 139
-
Can you give more details about what you did and what failed ?
-
CMAKE TERMINAL:
PS C:\Git\openexr\build> cmake --build . [ 0%] Built target eLut [ 1%] Built target toFloat [ 1%] Built target Half [ 2%] Built target Half_static [ 2%] Built target Iex [ 3%] Built target Iex_static [ 4%] Building CXX object IlmBase/IexMath/CMakeFiles/IexMath.dir/IexMathFloatExc.cpp.obj In file included from C:/Git/openexr/IlmBase/Iex/IexMathExc.h:40:0, from C:/Git/openexr/IlmBase/IexMath/IexMathFloatExc.h:58, from C:\Git\openexr\IlmBase\IexMath\IexMathFloatExc.cpp:43: C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:149:29: error: function 'Iex_2_3::ArgExc::ArgExc()' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, ArgExc, BaseExc) // Invalid arguments to a function call ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:135:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name() throw(): base (0) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:149:29: error: function 'Iex_2_3::ArgExc::ArgExc(const char*)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, ArgExc, BaseExc) // Invalid arguments to a function call ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:136:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (const char* text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:149:29: error: function 'Iex_2_3::ArgExc::ArgExc(const string&)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, ArgExc, BaseExc) // Invalid arguments to a function call ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:137:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (const std::string &text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:149:29: error: function 'Iex_2_3::ArgExc::ArgExc(std::stringstream&)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, ArgExc, BaseExc) // Invalid arguments to a function call ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:138:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (std::stringstream &text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:139:13: error: function 'Iex_2_3::ArgExc::~ArgExc()' definition is marked dllimport exp ~name() throw() { } \ ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:149:1: note: in expansion of macro 'DEFINE_EXC_EXP' DEFINE_EXC_EXP (IEX_EXPORT, ArgExc, BaseExc) // Invalid arguments to a function call ^~~~~~~~~~~~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:151:29: error: function 'Iex_2_3::LogicExc::LogicExc()' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, LogicExc, BaseExc) // General error in a program's logic, ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:135:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name() throw(): base (0) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:151:29: error: function 'Iex_2_3::LogicExc::LogicExc(const char*)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, LogicExc, BaseExc) // General error in a program's logic, ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:136:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (const char* text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:151:29: error: function 'Iex_2_3::LogicExc::LogicExc(const string&)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, LogicExc, BaseExc) // General error in a program's logic, ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:137:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (const std::string &text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:151:29: error: function 'Iex_2_3::LogicExc::LogicExc(std::stringstream&)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, LogicExc, BaseExc) // General error in a program's logic, ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:138:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (std::stringstream &text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:139:13: error: function 'Iex_2_3::LogicExc::~LogicExc()' definition is marked dllimport exp ~name() throw() { } \ ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:151:1: note: in expansion of macro 'DEFINE_EXC_EXP' DEFINE_EXC_EXP (IEX_EXPORT, LogicExc, BaseExc) // General error in a program's logic, ^~~~~~~~~~~~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:156:29: error: function 'Iex_2_3::InputExc::InputExc()' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, InputExc, BaseExc) // Invalid input data, e.g. from a file ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:135:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name() throw(): base (0) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:156:29: error: function 'Iex_2_3::InputExc::InputExc(const char*)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, InputExc, BaseExc) // Invalid input data, e.g. from a file ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:136:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (const char* text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:156:29: error: function 'Iex_2_3::InputExc::InputExc(const string&)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, InputExc, BaseExc) // Invalid input data, e.g. from a file ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:137:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (const std::string &text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:156:29: error: function 'Iex_2_3::InputExc::InputExc(std::stringstream&)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, InputExc, BaseExc) // Invalid input data, e.g. from a file ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:138:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (std::stringstream &text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:139:13: error: function 'Iex_2_3::InputExc::~InputExc()' definition is marked dllimport exp ~name() throw() { } \ ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:156:1: note: in expansion of macro 'DEFINE_EXC_EXP' DEFINE_EXC_EXP (IEX_EXPORT, InputExc, BaseExc) // Invalid input data, e.g. from a file ^~~~~~~~~~~~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:158:29: error: function 'Iex_2_3::IoExc::IoExc()' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, IoExc, BaseExc) // Input or output operation failed ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:135:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name() throw(): base (0) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:158:29: error: function 'Iex_2_3::IoExc::IoExc(const char*)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, IoExc, BaseExc) // Input or output operation failed ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:136:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (const char* text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:158:29: error: function 'Iex_2_3::IoExc::IoExc(const string&)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, IoExc, BaseExc) // Input or output operation failed ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:137:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (const std::string &text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:158:29: error: function 'Iex_2_3::IoExc::IoExc(std::stringstream&)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, IoExc, BaseExc) // Input or output operation failed ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:138:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (std::stringstream &text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:139:13: error: function 'Iex_2_3::IoExc::~IoExc()' definition is marked dllimport exp ~name() throw() { } \ ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:158:1: note: in expansion of macro 'DEFINE_EXC_EXP' DEFINE_EXC_EXP (IEX_EXPORT, IoExc, BaseExc) // Input or output operation failed ^~~~~~~~~~~~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:160:29: error: function 'Iex_2_3::MathExc::MathExc()' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, MathExc, BaseExc) // Arithmetic exception; more specific ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:135:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name() throw(): base (0) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:160:29: error: function 'Iex_2_3::MathExc::MathExc(const char*)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, MathExc, BaseExc) // Arithmetic exception; more specific ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:136:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (const char* text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:160:29: error: function 'Iex_2_3::MathExc::MathExc(const string&)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, MathExc, BaseExc) // Arithmetic exception; more specific ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:137:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (const std::string &text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:160:29: error: function 'Iex_2_3::MathExc::MathExc(std::stringstream&)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, MathExc, BaseExc) // Arithmetic exception; more specific ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:138:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (std::stringstream &text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:139:13: error: function 'Iex_2_3::MathExc::~MathExc()' definition is marked dllimport exp ~name() throw() { } \ ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:160:1: note: in expansion of macro 'DEFINE_EXC_EXP' DEFINE_EXC_EXP (IEX_EXPORT, MathExc, BaseExc) // Arithmetic exception; more specific ^~~~~~~~~~~~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:164:29: error: function 'Iex_2_3::ErrnoExc::ErrnoExc()' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, ErrnoExc, BaseExc) // Base class for exceptions corresponding ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:135:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name() throw(): base (0) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:164:29: error: function 'Iex_2_3::ErrnoExc::ErrnoExc(const char*)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, ErrnoExc, BaseExc) // Base class for exceptions corresponding ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:136:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (const char* text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:164:29: error: function 'Iex_2_3::ErrnoExc::ErrnoExc(const string&)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, ErrnoExc, BaseExc) // Base class for exceptions corresponding ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:137:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (const std::string &text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:164:29: error: function 'Iex_2_3::ErrnoExc::ErrnoExc(std::stringstream&)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, ErrnoExc, BaseExc) // Base class for exceptions corresponding ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:138:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (std::stringstream &text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:139:13: error: function 'Iex_2_3::ErrnoExc::~ErrnoExc()' definition is marked dllimport exp ~name() throw() { } \ ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:164:1: note: in expansion of macro 'DEFINE_EXC_EXP' DEFINE_EXC_EXP (IEX_EXPORT, ErrnoExc, BaseExc) // Base class for exceptions corresponding ^~~~~~~~~~~~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:169:29: error: function 'Iex_2_3::NoImplExc::NoImplExc()' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, NoImplExc, BaseExc) // Missing method exception e.g. from a ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:135:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name() throw(): base (0) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:169:29: error: function 'Iex_2_3::NoImplExc::NoImplExc(const char*)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, NoImplExc, BaseExc) // Missing method exception e.g. from a ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:136:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (const char* text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:169:29: error: function 'Iex_2_3::NoImplExc::NoImplExc(const string&)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, NoImplExc, BaseExc) // Missing method exception e.g. from a ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:137:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (const std::string &text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:169:29: error: function 'Iex_2_3::NoImplExc::NoImplExc(std::stringstream&)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, NoImplExc, BaseExc) // Missing method exception e.g. from a ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:138:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (std::stringstream &text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:139:13: error: function 'Iex_2_3::NoImplExc::~NoImplExc()' definition is marked dllimport exp ~name() throw() { } \ ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:169:1: note: in expansion of macro 'DEFINE_EXC_EXP' DEFINE_EXC_EXP (IEX_EXPORT, NoImplExc, BaseExc) // Missing method exception e.g. from a ^~~~~~~~~~~~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:175:29: error: function 'Iex_2_3::NullExc::NullExc()' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, NullExc, BaseExc) // A pointer is inappropriately null. ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:135:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name() throw(): base (0) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:175:29: error: function 'Iex_2_3::NullExc::NullExc(const char*)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, NullExc, BaseExc) // A pointer is inappropriately null. ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:136:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (const char* text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:175:29: error: function 'Iex_2_3::NullExc::NullExc(const string&)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, NullExc, BaseExc) // A pointer is inappropriately null. ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:137:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (const std::string &text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:175:29: error: function 'Iex_2_3::NullExc::NullExc(std::stringstream&)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, NullExc, BaseExc) // A pointer is inappropriately null. ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:138:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (std::stringstream &text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:139:13: error: function 'Iex_2_3::NullExc::~NullExc()' definition is marked dllimport exp ~name() throw() { } \ ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:175:1: note: in expansion of macro 'DEFINE_EXC_EXP' DEFINE_EXC_EXP (IEX_EXPORT, NullExc, BaseExc) // A pointer is inappropriately null. ^~~~~~~~~~~~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:177:29: error: function 'Iex_2_3::TypeExc::TypeExc()' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, TypeExc, BaseExc) // An object is an inappropriate type, ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:135:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name() throw(): base (0) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:177:29: error: function 'Iex_2_3::TypeExc::TypeExc(const char*)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, TypeExc, BaseExc) // An object is an inappropriate type, ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:136:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (const char* text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:177:29: error: function 'Iex_2_3::TypeExc::TypeExc(const string&)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, TypeExc, BaseExc) // An object is an inappropriate type, ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:137:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (const std::string &text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:177:29: error: function 'Iex_2_3::TypeExc::TypeExc(std::stringstream&)' definition is marked dllimport DEFINE_EXC_EXP (IEX_EXPORT, TypeExc, BaseExc) // An object is an inappropriate type, ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:138:13: note: in definition of macro 'DEFINE_EXC_EXP' exp name (std::stringstream &text) throw(): base (text) {} \ ^~~~ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:139:13: error: function 'Iex_2_3::TypeExc::~TypeExc()' definition is marked dllimport exp ~name() throw() { } \ ^ C:/Git/openexr/IlmBase/Iex/IexBaseExc.h:177:1: note: in expansion of macro 'DEFINE_EXC_EXP' DEFINE_EXC_EXP (IEX_EXPORT, TypeExc, BaseExc) // An object is an inappropriate type, ^~~~~~~~~~~~~~ IlmBase\IexMath\CMakeFiles\IexMath.dir\build.make:62: recipe for target 'IlmBase/IexMath/CMakeFiles/IexMath.dir/IexMathFloatExc.cpp.obj' failed mingw32-make.exe[2]: *** [IlmBase/IexMath/CMakeFiles/IexMath.dir/IexMathFloatExc.cpp.obj] Error 1 CMakeFiles\Makefile2:1294: recipe for target 'IlmBase/IexMath/CMakeFiles/IexMath.dir/all' failed mingw32-make.exe[1]: *** [IlmBase/IexMath/CMakeFiles/IexMath.dir/all] Error 2 Makefile:161: recipe for target 'all' failed mingw32-make.exe: *** [all] Error 2 CMAKE GUI CMake Warning at CMakeLists.txt:143 (message): Viewers are currently out of order. Building anyway Found OpenGL: opengl32 Could NOT find FLTK (missing: FLTK_LIBRARIES FLTK_INCLUDE_DIR) CMake Warning at CMakeLists.txt:147 (message): FLTK not found, exrdisplay will not be built ILMBASE_PACKAGE_PREFIX = C:/Program Files (x86)/OpenEXR INFO,Skipping Python bindings INFO,Skipping OpenEXR Viewers Configuring done Generating done
-
@SGaist I also try to compile without selecting these options python lib and openexr viewer as well as in the image. python was because I could not install the "Faber" and the viewer was because I could not install the fltk tbm
-
@Nathan-Miguel said in How can I open openexr image on qt widget:
@SGaist If you have a problem with linux on linux, I would like to install linux on linux, because it is horrible to program on windows in C ++ on my opinion
Install Linux on Linux ? What do you mean by that ?
In any case, you don't really need the viewer since you want to use Qt to show the images.