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 9.8k 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.
  • 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
                                      • SGaistS Offline
                                        SGaistS Offline
                                        SGaist
                                        Lifetime Qt Champion
                                        wrote on last edited by
                                        #40

                                        Did you call nmake install at some point ?

                                        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

                                          Did you call nmake install at some point ?

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

                                          @SGaist noup

                                          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