Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. How can I open openexr image on qt widget
Forum Updated to NodeBB v4.3 + New Features

How can I open openexr image on qt widget

Scheduled Pinned Locked Moved Unsolved General and Desktop
49 Posts 5 Posters 10.7k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N Nathan Miguel

    @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

    SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #20

    @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.

    Interested in AI ? www.idiap.ch
    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

    N 3 Replies Last reply
    1
    • SGaistS SGaist

      @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.

      N Offline
      N Offline
      Nathan Miguel
      wrote on last edited by VRonin
      #21

      @SGaist sorry for my keyboard and brazil, sometimes it fixes the errors alone, but what I wanted to say and if it would be easier to program this in linux and if you have how to compile windows files direct in linux. But continuing, where I can find this "FLTK_GL_LIBRARY", and about python it seems that cmake is using 2.7 and not the 3.7 to install the python boost.

      CMake Warning at CMakeLists.txt: 143 (message):
         Viewers are currently out of order. Building anyway
      
      
      ILMBASE_PACKAGE_PREFIX = C: / Program Files (x86) / OpenEXR
      INFO, Skipping Python bindings
      OPENEXR_PACKAGE_PREFIX =
      CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
      Please make them or make sure they are set and tested correctly in the CMake files:
      FLTK_GL_LIBRARY
           linked by target "exrdisplay" in directory C: / Git / openexr / OpenEXR_Viewers / exrdisplay
      
      Configuring incomplete, errors occurred!
      See also "C: /Git/openexr/build/CMakeFiles/CMakeOutput.log".
      
      1 Reply Last reply
      0
      • SGaistS SGaist

        @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.

        N Offline
        N Offline
        Nathan Miguel
        wrote on last edited by
        #22

        @SGaist I've been able to compile all but that's missing so I can finish compiling Kimageformat, "https://api.kde.org/frameworks/karchive/html/index.html"

        Could not set up the appstream test. appstreamcli is missing.
        Could NOT find BZip2 (missing: BZIP2_LIBRARIES BZIP2_INCLUDE_DIR)
        Could NOT find LibLZMA (missing: LIBLZMA_INCLUDE_DIR LIBLZMA_LIBRARY LIBLZMA_HAS_AUTO_DECODER LIBLZMA_HAS_EASY_ENCODER LIBLZMA_HAS_LZMA_PRESET)
        The following OPTIONAL packages have been found:

        * Qt5Network

        • 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
         * ZLIB, Support for gzip compressed files and data streams, http://www.zlib.net
           Required by the core KDE libraries and some critical kioslaves
         * Qt5Core

        • The following features have been disabled:

        * QCH, API documentation in QCH format (for eg Qt Assistant, Qt Creator & KDevelop)

        • The following OPTIONAL packages have not been found:

        * LibLZMA, Support for xz compressed files and data streams, http://tukaani.org/xz/
           Support for xz compressed files and data streams

        • The following RECOMMENDED packages have not been found:

        * BZip2, Support for BZip2 compressed files and data streams, https://sourceware.org/bzip2/
           Support for BZip2 compressed files and data streams

        Configuring done
        Generating done

        1 Reply Last reply
        1
        • SGaistS SGaist

          @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.

          N Offline
          N Offline
          Nathan Miguel
          wrote on last edited by
          #23

          @SGaist Sorry bother, but now I've been able to install everything, thanks to everyone, but how can I include this in my project

          VRoninV 1 Reply Last reply
          0
          • N Nathan Miguel

            @SGaist Sorry bother, but now I've been able to install everything, thanks to everyone, but how can I include this in my project

            VRoninV Offline
            VRoninV Offline
            VRonin
            wrote on last edited by
            #24

            @Nathan-Miguel said in How can I open openexr image on qt widget:

            but how can I include this in my project

            http://doc.qt.io/qt-5/third-party-libraries.html
            http://doc.qt.io/qtcreator/creator-project-qmake-libraries.html

            "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
            ~Napoleon Bonaparte

            On a crusade to banish setIndexWidget() from the holy land of Qt

            N 1 Reply Last reply
            2
            • VRoninV VRonin

              @Nathan-Miguel said in How can I open openexr image on qt widget:

              but how can I include this in my project

              http://doc.qt.io/qt-5/third-party-libraries.html
              http://doc.qt.io/qtcreator/creator-project-qmake-libraries.html

              N Offline
              N Offline
              Nathan Miguel
              wrote on last edited by
              #25

              @VRonin only have a problem, I just see these files for me and what does not accept other formats of includes other than .h, .lib, .a

              0_1544644496765_a7f24467-ca07-4d98-8be5-32182a76f268-image.png

              0_1544644529928_043c200c-dcdd-4d9e-b2a2-63f0898d01dd-image.png

              1 Reply Last reply
              0
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #26

                You don't have to link against them. They are plugins that will be loaded at run time.

                You may have to add a call to QCoreApplication::addLibraryPath for your application to find them.

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                N 2 Replies Last reply
                2
                • SGaistS SGaist

                  You don't have to link against them. They are plugins that will be loaded at run time.

                  You may have to add a call to QCoreApplication::addLibraryPath for your application to find them.

                  N Offline
                  N Offline
                  Nathan Miguel
                  wrote on last edited by
                  #27

                  @SGaist there is a problem so, cmake is not wanting to include the openexr library in kimageformat, and this makes my program compatible with psd, krikta and others except openexr

                  0_1544722625396_6bd37dd2-d3a2-4fc1-aa59-81b5575e481e-image.png

                  1 Reply Last reply
                  0
                  • SGaistS SGaist

                    You don't have to link against them. They are plugins that will be loaded at run time.

                    You may have to add a call to QCoreApplication::addLibraryPath for your application to find them.

                    N Offline
                    N Offline
                    Nathan Miguel
                    wrote on last edited by VRonin
                    #28

                    @SGaist I was able to make cmake find them but I still have an error compiling openexr's ".lib"

                    0_1544753199859_97a920a1-a53e-4933-893d-8a771b85212f-image.png

                    CMakeFiles\kimg_exr.dir/objects.a(exr.cpp.obj): In function `K_IStream::read(char*, int)':
                    C:/Git/kimageformats/src/imageformats/exr.cpp:61: undefined reference to `Iex_2_3::throwErrnoExc(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
                    CMakeFiles\kimg_exr.dir/objects.a(exr.cpp.obj): In function `EXRHandler::read(QImage*)':
                    C:/Git/kimageformats/src/imageformats/exr.cpp:169: undefined reference to `Imf_2_3::globalThreadCount()'
                    C:/Git/kimageformats/src/imageformats/exr.cpp:169: undefined reference to `Imf_2_3::RgbaInputFile::RgbaInputFile(Imf_2_3::IStream&, int)'
                    C:/Git/kimageformats/src/imageformats/exr.cpp:170: undefined reference to `Imf_2_3::RgbaInputFile::dataWindow() const'
                    C:/Git/kimageformats/src/imageformats/exr.cpp:178: undefined reference to `Imf_2_3::RgbaInputFile::setFrameBuffer(Imf_2_3::Rgba*, unsigned long long, unsigned long long)'
                    C:/Git/kimageformats/src/imageformats/exr.cpp:179: undefined reference to `Imf_2_3::RgbaInputFile::readPixels(int, int)'C:/Git/kimageformats/src/imageformats/exr.cpp:169: undefined reference to `Imf_2_3::RgbaInputFile::~RgbaInputFile()'
                    C:/Git/kimageformats/src/imageformats/exr.cpp:169: undefined reference to `Imf_2_3::RgbaInputFile::~RgbaInputFile()'
                    CMakeFiles\kimg_exr.dir/objects.a(exr.cpp.obj): In function `EXRHandler::canRead(QIODevice*)':
                    C:/Git/kimageformats/src/imageformats/exr.cpp:212: undefined reference to `Imf_2_3::isImfMagic(char const*)'
                    CMakeFiles\kimg_exr.dir/objects.a(exr.cpp.obj): In function `Iex_2_3::InputExc::InputExc(char const*)':
                    C:/PROGRA~1/OpenEXR/include/OpenEXR/IexBaseExc.h:156: undefined reference to `Iex_2_3::BaseExc::BaseExc(char const*)'
                    CMakeFiles\kimg_exr.dir/objects.a(exr.cpp.obj): In function `Iex_2_3::InputExc::~InputExc()':
                    C:/PROGRA~1/OpenEXR/include/OpenEXR/IexBaseExc.h:156: undefined reference to `Iex_2_3::BaseExc::~BaseExc()'
                    CMakeFiles\kimg_exr.dir/objects.a(exr.cpp.obj): In function `K_IStream::K_IStream(QIODevice*, QByteArray const&)':
                    C:/Git/kimageformats/src/imageformats/exr.cpp:40: undefined reference to `Imf_2_3::IStream::IStream(char const*)'
                    CMakeFiles\kimg_exr.dir/objects.a(exr.cpp.obj):exr.cpp:(.rdata$_ZTV9K_IStream[_ZTV9K_IStream]+0x20): undefined reference to `Imf_2_3::IStream::isMemoryMapped() const'
                    CMakeFiles\kimg_exr.dir/objects.a(exr.cpp.obj):exr.cpp:(.rdata$_ZTV9K_IStream[_ZTV9K_IStream]+0x30): undefined reference to `Imf_2_3::IStream::readMemoryMapped(int)'
                    CMakeFiles\kimg_exr.dir/objects.a(exr.cpp.obj): In function `K_IStream::~K_IStream()':
                    C:/Git/kimageformats/src/imageformats/exr.cpp:36: undefined reference to `Imf_2_3::IStream::~IStream()'
                    CMakeFiles\kimg_exr.dir/objects.a(exr.cpp.obj):exr.cpp:(.rdata$_ZTVN7Iex_2_38InputExcE[_ZTVN7Iex_2_38InputExcE]+0x20): undefined reference to `Iex_2_3::BaseExc::what() const'
                    CMakeFiles\kimg_exr.dir/objects.a(exr.cpp.obj):exr.cpp:(.rdata$.refptr._ZN4half8_toFloatE[.refptr._ZN4half8_toFloatE]+0x0): undefined reference to `half::_toFloat'
                    collect2.exe: error: ld returned 1 exit status
                    mingw32-make.exe[2]: *** [src\imageformats\CMakeFiles\kimg_exr.dir\build.make:107: bin/imageformats/kimg_exr.dll] Error 1
                    mingw32-make.exe[1]: *** [CMakeFiles\Makefile2:200: src/imageformats/CMakeFiles/kimg_exr.dir/all] Error 2
                    mingw32-make.exe: *** [Makefile:140: all] Error 2
                    
                    1 Reply Last reply
                    0
                    • SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on last edited by
                      #29

                      Can you check in which OpenEXR library you have these symbols ? It's likely the llmlmf library but better double check.

                      Interested in AI ? www.idiap.ch
                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                      N 1 Reply Last reply
                      0
                      • SGaistS SGaist

                        Can you check in which OpenEXR library you have these symbols ? It's likely the llmlmf library but better double check.

                        N Offline
                        N Offline
                        Nathan Miguel
                        wrote on last edited by Nathan Miguel
                        #30

                        @SGaist strange, because all the libs here are good, until the includes are complete

                        0_1544875563064_887a0e51-2f6d-478f-a2f8-f155effb02bf-image.png

                        1 Reply Last reply
                        0
                        • SGaistS Offline
                          SGaistS Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on last edited by
                          #31

                          I didn't meant you are missing a library, just wondering which one contains the missing symbols and thus if you are linking against it.

                          Interested in AI ? www.idiap.ch
                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                          N 1 Reply Last reply
                          0
                          • SGaistS SGaist

                            I didn't meant you are missing a library, just wondering which one contains the missing symbols and thus if you are linking against it.

                            N Offline
                            N Offline
                            Nathan Miguel
                            wrote on last edited by VRonin
                            #32

                            @SGaist The log says that "moc_predefs.h" is giving the library error to generate kimg_exr.dll, more briefly, but what can I do to correct it, I tried to switch between VS and mingw

                            [ 1%] Automatic MOC for target kimg_exr

                            AutoMoc subprocess error

                            The content generation command for "moc_predefs.h" failed.

                            Command

                            C:/Qt/Tools/mingw730_64/bin/g++.exe -dM -E -c "C:/Program Files/CMake/share/cmake-3.13/Modules/CMakeCXXCompilerABI.cpp" -IC:/Git/kimageformats/build/src/imageformats -IC:/Git/kimageformats/src/imageformats -IC:/Qt/5.12.0/mingw73_64/include -IC:/Qt/5.12.0/mingw73_64/include/QtGui -IC:/Qt/5.12.0/mingw73_64/include/QtANGLE -IC:/Qt/5.12.0/mingw73_64/include/QtCore -IC:/Qt/5.12.0/mingw73_64/./mkspecs/win32-g++ "-IC:/Program Files/OpenEXR/include/OpenEXR" -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_CAST_TO_ASCII -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_SIGNALS_SLOTS_KEYWORDS -DQT_NO_URL_CAST_FROM_STRING -DQT_USE_QSTRINGBUILDER -DUNICODE -DWIN32_LEAN_AND_MEAN -DWINVER=0x0600 -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D_USE_MATH_DEFINES -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0600 -DWIN32
                            

                            Output

                            src\imageformats\CMakeFiles\kimg_exr_autogen.dir\build.make:56: recipe for target 'src/imageformats/CMakeFiles/kimg_exr_autogen' failed
                            mingw32-make.exe[2]: *** [src/imageformats/CMakeFiles/kimg_exr_autogen] Error 1
                            CMakeFiles\Makefile2:569: recipe for target 'src/imageformats/CMakeFiles/kimg_exr_autogen.dir/all' failed
                            mingw32-make.exe[1]: *** [src/imageformats/CMakeFiles/kimg_exr_autogen.dir/all] Error 2
                            Makefile:139: recipe for target 'all' failed
                            mingw32-make.exe: *** [all] Error 2
                            
                            1 Reply Last reply
                            0
                            • SGaistS Offline
                              SGaistS Offline
                              SGaist
                              Lifetime Qt Champion
                              wrote on last edited by
                              #33

                              You can't mix and match C++ libraries built with VS and MinGW, you have to always use the same compiler.

                              Interested in AI ? www.idiap.ch
                              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                              N 1 Reply Last reply
                              3
                              • VRoninV Offline
                                VRoninV Offline
                                VRonin
                                wrote on last edited by VRonin
                                #34

                                I tried to build it myself but I must admit I too struggle with getting openexr to link. I will post my progress below anyway to make it more accessible to other people to try and fix this. The commands should create a zip file containing each dependency and a zip file containing the KDE API libraries but I can't get the final link over the line

                                The series of commands I used can be replicated to build all the dependencies and the library (as you can see, I built with Qt5.12 on MSVC 2015):

                                set cmake_path=C:\Program Files\CMake\bin
                                set 7zip_path=C:\Program Files\7-Zip
                                set git_path=C:\Program Files\Git\bin
                                set qt_path=C:\Qt\5.12\msvc2015_64
                                set curl_path=C:\libcurl\bin
                                set compiler_path=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
                                set comp_platform=amd64
                                set use_mingw=false
                                set originalWD=%CD%
                                set PATH=%cmake_path%;%git_path%;%curl_path%;%7zip_path%;%PATH%
                                call "%qt_path%\bin\qtenv2.bat"
                                cd %originalWD%
                                echo on
                                if %use_mingw%==true set PATH=%compiler_path%;%PATH%
                                if %use_mingw%==false call "%compiler_path%\vcvarsall.bat" %comp_platform%
                                if %use_mingw%==true (set CMAKEGENERATOR="MinGW Makefiles") else (set CMAKEGENERATOR="NMake Makefiles")
                                mkdir .\bzip2src && cd .\bzip2src
                                curl -k -L https://sourceforge.net/projects/gnuwin32/files/bzip2/1.0.5/bzip2-1.0.5-src.zip --output bzip2.zip
                                7z x bzip2.zip
                                del /F /Q  bzip2.zip
                                cd src\bzip2\1.0.5\bzip2-1.0.5\
                                mkdir build && cd build
                                echo cmake_minimum_required(VERSION 3.5) >> ..\CMakeLists.txt
                                echo project(bzip2 C) >> ..\CMakeLists.txt
                                echo set(bzip2_VERSION 1.0.5) >> ..\CMakeLists.txt
                                echo set(bzip2_SRCS >> ..\CMakeLists.txt
                                echo bzlib.c >> ..\CMakeLists.txt
                                echo blocksort.c >> ..\CMakeLists.txt
                                echo huffman.c >> ..\CMakeLists.txt
                                echo crctable.c >> ..\CMakeLists.txt
                                echo compress.c >> ..\CMakeLists.txt
                                echo decompress.c >> ..\CMakeLists.txt
                                echo randtable.c >> ..\CMakeLists.txt
                                echo ) >> ..\CMakeLists.txt
                                echo add_library(bzip2 SHARED ${bzip2_SRCS}) >> ..\CMakeLists.txt
                                echo install(TARGETS bzip2 >> ..\CMakeLists.txt
                                echo EXPORT bzip2 >> ..\CMakeLists.txt
                                echo RUNTIME DESTINATION bin COMPONENT library >> ..\CMakeLists.txt
                                echo LIBRARY DESTINATION lib COMPONENT library >> ..\CMakeLists.txt
                                echo ARCHIVE DESTINATION lib COMPONENT library >> ..\CMakeLists.txt
                                echo ) >> ..\CMakeLists.txt
                                echo install(FILES bzlib.h >> ..\CMakeLists.txt
                                echo DESTINATION include >> ..\CMakeLists.txt
                                echo COMPONENT headers >> ..\CMakeLists.txt
                                echo ) >> ..\CMakeLists.txt
                                cmake -G %CMAKEGENERATOR% -DCMAKE_INSTALL_PREFIX=../../../../../../bzip2 -DCMAKE_BUILD_TYPE=RELEASE ../
                                cmake --build .
                                cmake --build . --target install
                                cd ..\..\..\..\..\..\
                                set PATH=%CD%\bzip2;%PATH%
                                7z a -tzip bzip2.zip .\bzip2\*
                                mkdir .\liblzma && cd .\liblzma
                                curl -k -L https://tukaani.org/xz/xz-5.2.4-windows.zip --output liblzma.zip
                                7z x liblzma.zip
                                del /F /Q liblzma.zip
                                if %use_mingw%==true (ren bin_i686 lib) else (mkdir lib && mkdir bin)
                                if %use_mingw%==false curl -k -L https://tukaani.org/xz/xz-5.2.4.tar.gz --output liblzma.tar.gz
                                if %use_mingw%==false 7z x liblzma.tar.gz
                                if %use_mingw%==false del /F /Q liblzma.tar.gz
                                if %use_mingw%==false 7z x liblzma.tar
                                if %use_mingw%==false del /F /Q liblzma.tar
                                if %use_mingw%==false cd xz-5.2.4\windows\vs2013
                                if %comp_platform%==x86 if %use_mingw%==false msbuild xz_win.sln /property:Configuration=Release /property:Platform=Win32 && xcopy /Y /I /K Release\Win32\liblzma_dll\*.dll ..\..\..\bin && xcopy /Y /I /K Release\Win32\liblzma_dll\*.lib ..\..\..\lib
                                if %comp_platform%==amd64 if %use_mingw%==false msbuild xz_win.sln /property:Configuration=Release /property:Platform=x64 && xcopy /Y /I /K Release\x64\liblzma_dll\*.dll ..\..\..\bin && xcopy /Y /I /K Release\x64\liblzma_dll\*.lib ..\..\..\lib
                                if %use_mingw%==false cd ..\..\..\
                                set PATH=%CD%;%PATH%
                                cd ..\
                                7z a -tzip liblzma.zip .\liblzma\include\
                                7z a -tzip liblzma.zip .\liblzma\lib\
                                if %use_mingw%==false 7z a -tzip liblzma.zip .\liblzma\bin\
                                git clone https://github.com/madler/zlib.git zlibBuild
                                cd zlibBuild
                                mkdir .\build && cd .\build
                                cmake -G %CMAKEGENERATOR% -DCMAKE_INSTALL_PREFIX=../../zlib -DCMAKE_BUILD_TYPE=RELEASE ../
                                cmake --build .
                                cmake --build . --target install
                                cd ..\..\
                                7z a -tzip zlib.zip .\zlib\*
                                set PATH=%CD%\zlib;%PATH%
                                git clone https://github.com/openexr/openexr.git OpenEXRsrc
                                cd OpenEXRsrc
                                mkdir .\build && cd .\build
                                cmake -G %CMAKEGENERATOR% -DOPENEXR_NAMESPACE_VERSIONING=OFF -DOPENEXR_BUILD_PYTHON_LIBS=OFF -DCMAKE_DEBUG_POSTFIX=d -DOPENEXR_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=../../OpenEXR -DCMAKE_BUILD_TYPE=DEBUG ../
                                cmake --build .
                                cmake --build . --target install
                                cmake -G %CMAKEGENERATOR% -DOPENEXR_NAMESPACE_VERSIONING=OFF -DOPENEXR_BUILD_PYTHON_LIBS=OFF -DOPENEXR_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=../../OpenEXR -DCMAKE_BUILD_TYPE=RELEASE ../
                                cmake --build .
                                cmake --build . --target install
                                cd ..\..\
                                7z a -tzip OpenEXR.zip .\OpenEXR\*
                                set PATH=%CD%\OpenEXR;%PATH%
                                git clone git://anongit.kde.org/extra-cmake-modules ECM
                                cd ECM
                                mkdir .\build && cd .\build
                                cmake -G %CMAKEGENERATOR% -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=../../ECMbuild -DCMAKE_BUILD_TYPE=RELEASE ../
                                cmake --build .
                                cmake --build . --target install
                                cd ..\..\
                                set PATH=%CD%\ECMbuild;%PATH%
                                git clone git://anongit.kde.org/karchive.git KArchive
                                cd KArchive
                                mkdir .\build && cd .\build
                                cmake -G %CMAKEGENERATOR% -DBUILD_TESTING=OFF -DCMAKE_DEBUG_POSTFIX=d -DCMAKE_INSTALL_PREFIX=../../KDEAPI -DCMAKE_BUILD_TYPE=DEBUG ../
                                cmake --build .
                                cmake --build . --target install
                                cmake -G %CMAKEGENERATOR% -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=../../KDEAPI -DCMAKE_BUILD_TYPE=RELEASE ../
                                cmake --build .
                                cmake --build . --target install
                                cd ..\..\
                                set PATH=%CD%\KDEAPI;%PATH%
                                git clone git://anongit.kde.org/kimageformats.git KImageFormats
                                cd KImageFormats
                                mkdir .\build && cd .\build
                                cmake -G %CMAKEGENERATOR% -DBUILD_TESTING=OFF -DCMAKE_DEBUG_POSTFIX=d -DCMAKE_INSTALL_PREFIX=../../KDEAPI -DCMAKE_BUILD_TYPE=DEBUG ../
                                cmake --build .
                                cmake --build . --target install
                                cmake -G %CMAKEGENERATOR% -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=../../KDEAPI -DCMAKE_BUILD_TYPE=RELEASE ../
                                cmake --build .
                                cmake --build . --target install
                                cd ..\..\
                                7z a -tzip KDElib.zip .\KDEAPI\*
                                

                                You'll need to have installed 7-zip, curl, CMake and git.
                                You'll need to change the initial lines to match your system:

                                • set cmake_path=C:\Program Files\CMake\bin: path to the CMake executable
                                • set 7zip_path=C:\Program Files\7-Zip: path to the 7-zip executable
                                • set git_path=C:\Program Files\Git\bin: path to the git executable
                                • set qt_path=C:\Qt\5.12\msvc2015_64: path to your qt directory
                                • set curl_path=C:\libcurl\bin: path to the curl executable
                                • set compiler_path=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC: path to the compiler binary folder
                                • set comp_platform=amd64 can be either amd64 or x86 determines if the build is 64 or 32 bit
                                • set use_mingw=false set to true if you use MinGW or false if you use MSVC

                                One final thing, if you use MinGW you might need to adjust the line if %use_mingw%==true (ren bin_i686 lib) else (mkdir lib && mkdir bin) changing bin_i686 to the name of the folder containing the libraries that match your compiler (there are 3 available)

                                "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                                ~Napoleon Bonaparte

                                On a crusade to banish setIndexWidget() from the holy land of Qt

                                1 Reply Last reply
                                5
                                • SGaistS SGaist

                                  You can't mix and match C++ libraries built with VS and MinGW, you have to always use the same compiler.

                                  N Offline
                                  N Offline
                                  Nathan Miguel
                                  wrote on last edited by
                                  #35

                                  @SGaist @VRonin you save my lifeeeeeee. but Well I chose to use VS because mingw gave object error, but how can I include it in qt now, you can give a clearer explanation because documentation is confusing

                                  VRoninV 1 Reply Last reply
                                  0
                                  • N Nathan Miguel

                                    @SGaist @VRonin you save my lifeeeeeee. but Well I chose to use VS because mingw gave object error, but how can I include it in qt now, you can give a clearer explanation because documentation is confusing

                                    VRoninV Offline
                                    VRoninV Offline
                                    VRonin
                                    wrote on last edited by
                                    #36

                                    @Nathan-Miguel said in How can I open openexr image on qt widget:

                                    but how can I include it in qt

                                    I imagine you mean Qt Creator. Right click on your project -> add library -> external library -> select the .lib file and the include directory (the d suffix should be detected automatically).

                                    "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                                    ~Napoleon Bonaparte

                                    On a crusade to banish setIndexWidget() from the holy land of Qt

                                    N 1 Reply Last reply
                                    0
                                    • VRoninV VRonin

                                      @Nathan-Miguel said in How can I open openexr image on qt widget:

                                      but how can I include it in qt

                                      I imagine you mean Qt Creator. Right click on your project -> add library -> external library -> select the .lib file and the include directory (the d suffix should be detected automatically).

                                      N Offline
                                      N Offline
                                      Nathan Miguel
                                      wrote on last edited by Nathan Miguel
                                      #37

                                      @VRonin even the libs was fine, but in question my qt still does not open and I still have some doubts,

                                      1. Do I need to add the openexr and libs includes?
                                      2. Can I continue using the QPixelmap label?
                                      3. In kimageformat did not come any include in .h, do I have to use .desktop or use the openexr includes to open the image?

                                      This is the function I'm using to open an image

                                      void MainWindow::on_actionOpen_Image_triggered()
                                      {
                                          QString filter = "Imagens (*.bmp *.cur *.gif *icns *.ico *.jpg *.jpeg *.pdm *.pgm *.png *.ppm *.svg *.tga *.tif *.tiff *.wbmp *.webp *.xmb *.xpm) ;; All Files (*.*)";
                                          QString filename = QFileDialog::getOpenFileName(this, "Open", QDir::homePath(), filter);
                                          QFile file(filename);
                                          QImage image(filename);
                                          if (!image.isNull())
                                              {
                                                   QImage image(filename);
                                                   image = image.scaledToWidth(ui->labelimg->width(), Qt::SmoothTransformation);
                                                   image = image.scaledToWidth(ui->labelimg->height(), Qt::SmoothTransformation);
                                                   ui->labelimg->setPixmap(QPixmap::fromImage(image));
                                              }
                                          else
                                              {
                                                  QMessageBox::warning(this, "Error", "Image can not open");
                                                  filename = "";
                                              }
                                      
                                      }
                                      
                                      1 Reply Last reply
                                      0
                                      • SGaistS Offline
                                        SGaistS Offline
                                        SGaist
                                        Lifetime Qt Champion
                                        wrote on last edited by
                                        #38

                                        Where did you install the plugins ?
                                        You can also set the QT_DEBUG_PLUGINS environment variable to 1 in the Run part of the Project panel to see what is happening.

                                        Interested in AI ? www.idiap.ch
                                        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                        N 1 Reply Last reply
                                        0
                                        • SGaistS SGaist

                                          Where did you install the plugins ?
                                          You can also set the QT_DEBUG_PLUGINS environment variable to 1 in the Run part of the Project panel to see what is happening.

                                          N Offline
                                          N Offline
                                          Nathan Miguel
                                          wrote on last edited by Nathan Miguel
                                          #39

                                          @SGaist The .desktop files are in the files and programs folder, the libs continued in the folder on I compiled, which was in C: / Git / kimageformat / build, and the dll were for the qt compiler itself, msvc2017-64 in the plugin / image folder

                                          One more thing, in this directory "C: \ Qt \ 5.12.0 \ msvc2017_64 \ plugins \ imageformats", I realized that the "tga" format, had tbm support here, and gives the same error when I try to open open exr in the app debug "QImage :: scaleWidth: Image is a null image".

                                          First I used the .dll, .pdb files with this name "kimg_exr", then renamed "qexr", both the dll and the pdb, but it still did not work, nor with the native tga that worked right.

                                          And if it is useful these are my includes

                                          #include "mainwindow.h"
                                          #include "ui_mainwindow.h"
                                          #include <QDesktopServices>
                                          #include <QMessageBox>
                                          #include <QUrl>
                                          #include <QFile>
                                          #include <QFileDialog>
                                          #include <QImage>
                                          #include <QPixmap>
                                          #include <QImageIOPlugin>
                                          #include <QImageIOHandler>
                                          

                                          source code: https://github.com/nathanmiguel123/Denoiser-Script

                                          1 Reply Last reply
                                          0

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved