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. Enabling DDS images in QT5.15.2
Forum Updated to NodeBB v4.3 + New Features

Enabling DDS images in QT5.15.2

Scheduled Pinned Locked Moved Solved General and Desktop
12 Posts 3 Posters 841 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.
  • C ChrisW67

    @eric_from_trainsim It's not clear what "Bonnie's steps" are from your link.

    DDS in not built by default since Qt 5.8 for security reasons. The source code can be found here.

    Once you have built and installed the plugin in the plugins/imageformats folder there should be nothing else to do. It must be built with the same tool chain as the Qt it is being built for.

    You can use QT_PLUGINS_DEBUG to see if the plugin is detected and loaded successfully.

    E Offline
    E Offline
    eric_from_trainsim
    wrote on last edited by
    #3

    @ChrisW67 said in Enabling DDS images in QT5.15.2:

    @eric_from_trainsim It's not clear what "Bonnie's steps" are from your link.

    From the command prompt in the dds subdirectory, I executed "qmake"

    From the command prompt in the same subdirectory, executed "mingw32-make install"

    I'll see if I can get the debug to run within the app...

    C 1 Reply Last reply
    0
    • E eric_from_trainsim

      @ChrisW67 said in Enabling DDS images in QT5.15.2:

      @eric_from_trainsim It's not clear what "Bonnie's steps" are from your link.

      From the command prompt in the dds subdirectory, I executed "qmake"

      From the command prompt in the same subdirectory, executed "mingw32-make install"

      I'll see if I can get the debug to run within the app...

      C Offline
      C Offline
      ChrisW67
      wrote on last edited by
      #4

      @eric_from_trainsim As long as you ran the qmake from the correct install of Qt then this should probably have done it.

      I'll see if I can get the debug to run within the app...

      From a command prompt:

      set QT_PLUGINS_DEBUG=1
      .\yourprog.exe
      
      SGaistS 1 Reply Last reply
      0
      • C ChrisW67

        @eric_from_trainsim As long as you ran the qmake from the correct install of Qt then this should probably have done it.

        I'll see if I can get the debug to run within the app...

        From a command prompt:

        set QT_PLUGINS_DEBUG=1
        .\yourprog.exe
        
        SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #5

        Hi,

        Another option is to open the .pro file with Qt Creator. That way you ensure that you are using the expected Qt version and only have to add a step to install the plugin.

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

        E 1 Reply Last reply
        0
        • SGaistS SGaist

          Hi,

          Another option is to open the .pro file with Qt Creator. That way you ensure that you are using the expected Qt version and only have to add a step to install the plugin.

          E Offline
          E Offline
          eric_from_trainsim
          wrote on last edited by
          #6

          @SGaist I'm not familiar with QT Creator... would that not possible with Netbeans as well?

          Here's the content of the pro file:

          # This file is generated automatically. Do not edit.
          # Use project properties -> Build -> Qt -> Expert -> Custom Definitions.
          TEMPLATE = app
          DESTDIR = dist/Release_x64/MinGW_64b-Windows
          TARGET = TSRE5
          VERSION = 0.7
          CONFIG -= debug_and_release app_bundle lib_bundle
          CONFIG += release 
          PKGCONFIG +=
          QT = core gui widgets network opengl
          SOURCES += AboutWindow.cpp AceLib.cpp ActLib.cpp ActionChooseDialog.cpp Activity.cpp ActivityEvent.cpp ActivityEventProperties.cpp ActivityEventWindow.cpp ActivityObject.cpp ActivityServiceProperties.cpp ActivityServiceWindow.cpp ActivityTimetable.cpp ActivityTimetableProperties.cpp ActivityTimetableWindow.cpp ActivityTools.cpp ActivityTrafficProperties.cpp ActivityTrafficWindow.cpp Brush.cpp CELoadWindow.cpp Camera.cpp CameraConsist.cpp CameraFree.cpp CameraRot.cpp CarSpawnerObj.cpp ChooseFileDialog.cpp ClickableLabel.cpp ClientInfo.cpp ClientUsersWindow.cpp ComplexLine.cpp ConEditorWindow.cpp ConInfoWidget.cpp ConLib.cpp ConListWidget.cpp ConUnitsWidget.cpp Consist.cpp ContentHierarchyInfo.cpp Coords.cpp CoordsGpx.cpp CoordsKml.cpp CoordsMkr.cpp CoordsRoutePlaces.cpp DynTrackObj.cpp EditFileNameDialog.cpp Eng.cpp EngInfoWidget.cpp EngLib.cpp EngListWidget.cpp Environment.cpp ErrorMessage.cpp ErrorMessageProperties.cpp ErrorMessagesLib.cpp ErrorMessagesWindow.cpp FileBuffer.cpp FileFunctions.cpp Flex.cpp ForestObj.cpp GLH.cpp GLMatrix.cpp GLUU.cpp Game.cpp GameObj.cpp GeoCoordinates.cpp GeoHgtFile.cpp GeoTerrainFile.cpp GeoTiffFile.cpp GeoTools.cpp GlobalDefinitions.cpp GroupObj.cpp GuiFunct.cpp GuiGlCompass.cpp HazardObj.cpp HeightWindow.cpp ImageLib.cpp Intersections.cpp LevelCrObj.cpp LoadWindow.cpp MapData.cpp MapDataOSM.cpp MapDataUrlImage.cpp MapLib.cpp MapWindow.cpp MstsSoundDefinition.cpp NaviBox.cpp NaviWindow.cpp NewRouteWindow.cpp OSMFeatures.cpp ObjFile.cpp ObjTools.cpp OglObj.cpp OpenGL3Renderer.cpp OrtsWeatherChange.cpp OverwriteDialog.cpp PaintTexLib.cpp ParserX.cpp Path.cpp PickupObj.cpp PlatformObj.cpp PlayActivitySelectWindow.cpp Pointer3d.cpp PoleObj.cpp ProceduralMstsDyntrack.cpp ProceduralShape.cpp PropertiesAbstract.cpp PropertiesActivityObject.cpp PropertiesActivityPath.cpp PropertiesCarspawner.cpp PropertiesConsist.cpp PropertiesDyntrack.cpp PropertiesForest.cpp PropertiesGroup.cpp PropertiesLevelCr.cpp PropertiesPickup.cpp PropertiesPlatform.cpp PropertiesRuler.cpp PropertiesSiding.cpp PropertiesSignal.cpp PropertiesSoundRegion.cpp PropertiesSoundSource.cpp PropertiesSpeedpost.cpp PropertiesStatic.cpp PropertiesTerrain.cpp PropertiesTrackItem.cpp PropertiesTrackObj.cpp PropertiesTransfer.cpp PropertiesUndefined.cpp QuadTree.cpp RandomConsist.cpp RandomTransformWorldObjDialog.cpp ReadFile.cpp Ref.cpp RenderItem.cpp Renderer.cpp Route.cpp RouteClient.cpp RouteEditorClient.cpp RouteEditorGLWidget.cpp RouteEditorServer.cpp RouteEditorWindow.cpp Ruch.cpp RulerObj.cpp SFile.cpp SFileC.cpp SFileX.cpp Service.cpp Shader.cpp ShapeHierarchyInfo.cpp ShapeHierarchyWindow.cpp ShapeInfoWidget.cpp ShapeLib.cpp ShapeTemplates.cpp ShapeTextureInfo.cpp ShapeTexturesWindow.cpp ShapeViewWindow.cpp ShapeViewerGLWidget.cpp ShapeViewerNavigatorWidget.cpp ShapeViewerWindow.cpp SigCfg.cpp SignalObj.cpp SignalShape.cpp SignalType.cpp SignalWindow.cpp SignalWindowLink.cpp SimpleHud.cpp Skydome.cpp SoundLib.cpp SoundList.cpp SoundManager.cpp SoundRegionObj.cpp SoundSource.cpp SoundSourceObj.cpp SoundVariables.cpp SpeedPost.cpp SpeedPostDAT.cpp SpeedpostObj.cpp StaticObj.cpp TDB.cpp TDBClient.cpp TFile.cpp TRitem.cpp TRnode.cpp TS.cpp TSection.cpp TSectionDAT.cpp TarFile.cpp Terrain.cpp TerrainClient.cpp TerrainInfo.cpp TerrainLib.cpp TerrainLibQt.cpp TerrainLibQtClient.cpp TerrainLibSimple.cpp TerrainTools.cpp TerrainTreeWindow.cpp TerrainWaterWindow.cpp TerrainWaterWindow2.cpp TexLib.cpp TextEditDialog.cpp TextObj.cpp Texture.cpp Tile.cpp TrWatermarkObj.cpp TrackItemObj.cpp TrackObj.cpp TrackShape.cpp Traffic.cpp TrainNetworkEng.cpp TransferObj.cpp TransformWorldObjDialog.cpp Trk.cpp TrkWindow.cpp Undo.cpp UnsavedDialog.cpp UriImageDrawThread.cpp Vector2f.cpp Vector2i.cpp Vector3f.cpp Vector4f.cpp WorldObj.cpp main.cpp
          HEADERS += AboutWindow.h AceLib.h ActLib.h ActionChooseDialog.h Activity.h ActivityEvent.h ActivityEventProperties.h ActivityEventWindow.h ActivityObject.h ActivityServiceProperties.h ActivityServiceWindow.h ActivityTimetable.h ActivityTimetableProperties.h ActivityTimetableWindow.h ActivityTools.h ActivityTrafficProperties.h ActivityTrafficWindow.h Brush.h CELoadWindow.h Camera.h CameraConsist.h CameraFree.h CameraRot.h CarSpawnerObj.h ChooseFileDialog.h ClickableLabel.h ClientInfo.h ClientUsersWindow.h ComplexLine.h ConEditorWindow.h ConInfoWidget.h ConLib.h ConListWidget.h ConUnitsWidget.h Consist.h ContentHierarchyInfo.h Coords.h CoordsGpx.h CoordsKml.h CoordsMkr.h CoordsRoutePlaces.h DynTrackObj.h EditFileNameDialog.h Eng.h EngInfoWidget.h EngLib.h EngListWidget.h Environment.h ErrorMessage.h ErrorMessageProperties.h ErrorMessagesLib.h ErrorMessagesWindow.h FileBuffer.h FileFunctions.h Flex.h ForestObj.h GLH.h GLMatrix.h GLUU.h Game.h GameObj.h GeoCoordinates.h GeoHgtFile.h GeoTerrainFile.h GeoTiffFile.h GeoTools.h GlobalDefinitions.h GroupObj.h GuiFunct.h GuiGlCompass.h HazardObj.h HeightWindow.h ImageLib.h Intersections.h LevelCrObj.h LoadWindow.h MapData.h MapDataOSM.h MapDataUrlImage.h MapLib.h MapWindow.h MstsSoundDefinition.h NaviBox.h NaviWindow.h NewRouteWindow.h OSMFeatures.h ObjFile.h ObjTools.h OglObj.h OpenGL3Renderer.h OrtsWeatherChange.h OverwriteDialog.h PaintTexLib.h ParserX.h Path.h PickupObj.h PlatformObj.h PlayActivitySelectWindow.h Pointer3d.h PoleObj.h ProceduralMstsDyntrack.h ProceduralShape.h PropertiesAbstract.h PropertiesActivityObject.h PropertiesActivityPath.h PropertiesCarspawner.h PropertiesConsist.h PropertiesDyntrack.h PropertiesForest.h PropertiesGroup.h PropertiesLevelCr.h PropertiesPickup.h PropertiesPlatform.h PropertiesRuler.h PropertiesSiding.h PropertiesSignal.h PropertiesSoundRegion.h PropertiesSoundSource.h PropertiesSpeedpost.h PropertiesStatic.h PropertiesTerrain.h PropertiesTrackItem.h PropertiesTrackObj.h PropertiesTransfer.h PropertiesUndefined.h QuadTree.h RandomConsist.h RandomTransformWorldObjDialog.h ReadFile.h Ref.h RenderItem.h Renderer.h Route.h RouteClient.h RouteEditorClient.h RouteEditorGLWidget.h RouteEditorServer.h RouteEditorWindow.h Ruch.h RulerObj.h SFile.h SFileC.h SFileX.h Service.h Shader.h ShapeHierarchyInfo.h ShapeHierarchyWindow.h ShapeInfoWidget.h ShapeLib.h ShapeTemplates.h ShapeTextureInfo.h ShapeTexturesWindow.h ShapeViewWindow.h ShapeViewerGLWidget.h ShapeViewerNavigatorWidget.h ShapeViewerWindow.h SigCfg.h SignalObj.h SignalShape.h SignalType.h SignalWindow.h SignalWindowLink.h SimpleHud.h Skydome.h SoundLib.h SoundList.h SoundManager.h SoundRegionObj.h SoundSource.h SoundSourceObj.h SoundVariables.h SpeedPost.h SpeedPostDAT.h SpeedpostObj.h StaticObj.h TDB.h TDBClient.h TFile.h TRitem.h TRnode.h TS.h TSection.h TSectionDAT.h TarFile.h Terrain.h TerrainClient.h TerrainInfo.h TerrainLib.h TerrainLibQt.h TerrainLibSimple.h TerrainTools.h TerrainTreeWindow.h TerrainWaterWindow.h TerrainWaterWindow2.h TexLib.h TextEditDialog.h TextObj.h Texture.h Tile.h TrWatermarkObj.h TrackItemObj.h TrackObj.h TrackShape.h Traffic.h TrainNetworkEng.h TransferObj.h TransformWorldObjDialog.h Trk.h TrkWindow.h Undo.h UnsavedDialog.h UriImageDrawThread.h Vector2f.h Vector2i.h Vector3f.h Vector4f.h WorldObj.h
          FORMS +=
          RESOURCES +=
          TRANSLATIONS +=
          OBJECTS_DIR = build/Release_x64/MinGW_64b-Windows
          MOC_DIR = 
          RCC_DIR = 
          UI_DIR = 
          QMAKE_CC = gcc
          QMAKE_CXX = g++
          DEFINES += 
          INCLUDEPATH += /e/dev/openal-soft-1.18.2-bin/include 
          LIBS += E:/DEV/openal-soft-1.18.2-bin/libs/Win64/libopenal32.a  
          equals(QT_MAJOR_VERSION, 4) {
          QMAKE_CXXFLAGS += -std=c++11
          }
          equals(QT_MAJOR_VERSION, 5) {
          CONFIG += c++11
          }
          QT += websockets
          LIBS += -lopengl32
          LIBS += -lglu32
          LIBS += -L"E:\dev\glut\glut32bit64bit" -lglut64
          LIBS += -L"E:\DEV\openal-soft-1.18.2-bin\libs\Win64" -lopenal32
          

          Any suggestions on where I explicitly need to specify qdds.dll ??

          E 1 Reply Last reply
          0
          • E eric_from_trainsim

            @SGaist I'm not familiar with QT Creator... would that not possible with Netbeans as well?

            Here's the content of the pro file:

            # This file is generated automatically. Do not edit.
            # Use project properties -> Build -> Qt -> Expert -> Custom Definitions.
            TEMPLATE = app
            DESTDIR = dist/Release_x64/MinGW_64b-Windows
            TARGET = TSRE5
            VERSION = 0.7
            CONFIG -= debug_and_release app_bundle lib_bundle
            CONFIG += release 
            PKGCONFIG +=
            QT = core gui widgets network opengl
            SOURCES += AboutWindow.cpp AceLib.cpp ActLib.cpp ActionChooseDialog.cpp Activity.cpp ActivityEvent.cpp ActivityEventProperties.cpp ActivityEventWindow.cpp ActivityObject.cpp ActivityServiceProperties.cpp ActivityServiceWindow.cpp ActivityTimetable.cpp ActivityTimetableProperties.cpp ActivityTimetableWindow.cpp ActivityTools.cpp ActivityTrafficProperties.cpp ActivityTrafficWindow.cpp Brush.cpp CELoadWindow.cpp Camera.cpp CameraConsist.cpp CameraFree.cpp CameraRot.cpp CarSpawnerObj.cpp ChooseFileDialog.cpp ClickableLabel.cpp ClientInfo.cpp ClientUsersWindow.cpp ComplexLine.cpp ConEditorWindow.cpp ConInfoWidget.cpp ConLib.cpp ConListWidget.cpp ConUnitsWidget.cpp Consist.cpp ContentHierarchyInfo.cpp Coords.cpp CoordsGpx.cpp CoordsKml.cpp CoordsMkr.cpp CoordsRoutePlaces.cpp DynTrackObj.cpp EditFileNameDialog.cpp Eng.cpp EngInfoWidget.cpp EngLib.cpp EngListWidget.cpp Environment.cpp ErrorMessage.cpp ErrorMessageProperties.cpp ErrorMessagesLib.cpp ErrorMessagesWindow.cpp FileBuffer.cpp FileFunctions.cpp Flex.cpp ForestObj.cpp GLH.cpp GLMatrix.cpp GLUU.cpp Game.cpp GameObj.cpp GeoCoordinates.cpp GeoHgtFile.cpp GeoTerrainFile.cpp GeoTiffFile.cpp GeoTools.cpp GlobalDefinitions.cpp GroupObj.cpp GuiFunct.cpp GuiGlCompass.cpp HazardObj.cpp HeightWindow.cpp ImageLib.cpp Intersections.cpp LevelCrObj.cpp LoadWindow.cpp MapData.cpp MapDataOSM.cpp MapDataUrlImage.cpp MapLib.cpp MapWindow.cpp MstsSoundDefinition.cpp NaviBox.cpp NaviWindow.cpp NewRouteWindow.cpp OSMFeatures.cpp ObjFile.cpp ObjTools.cpp OglObj.cpp OpenGL3Renderer.cpp OrtsWeatherChange.cpp OverwriteDialog.cpp PaintTexLib.cpp ParserX.cpp Path.cpp PickupObj.cpp PlatformObj.cpp PlayActivitySelectWindow.cpp Pointer3d.cpp PoleObj.cpp ProceduralMstsDyntrack.cpp ProceduralShape.cpp PropertiesAbstract.cpp PropertiesActivityObject.cpp PropertiesActivityPath.cpp PropertiesCarspawner.cpp PropertiesConsist.cpp PropertiesDyntrack.cpp PropertiesForest.cpp PropertiesGroup.cpp PropertiesLevelCr.cpp PropertiesPickup.cpp PropertiesPlatform.cpp PropertiesRuler.cpp PropertiesSiding.cpp PropertiesSignal.cpp PropertiesSoundRegion.cpp PropertiesSoundSource.cpp PropertiesSpeedpost.cpp PropertiesStatic.cpp PropertiesTerrain.cpp PropertiesTrackItem.cpp PropertiesTrackObj.cpp PropertiesTransfer.cpp PropertiesUndefined.cpp QuadTree.cpp RandomConsist.cpp RandomTransformWorldObjDialog.cpp ReadFile.cpp Ref.cpp RenderItem.cpp Renderer.cpp Route.cpp RouteClient.cpp RouteEditorClient.cpp RouteEditorGLWidget.cpp RouteEditorServer.cpp RouteEditorWindow.cpp Ruch.cpp RulerObj.cpp SFile.cpp SFileC.cpp SFileX.cpp Service.cpp Shader.cpp ShapeHierarchyInfo.cpp ShapeHierarchyWindow.cpp ShapeInfoWidget.cpp ShapeLib.cpp ShapeTemplates.cpp ShapeTextureInfo.cpp ShapeTexturesWindow.cpp ShapeViewWindow.cpp ShapeViewerGLWidget.cpp ShapeViewerNavigatorWidget.cpp ShapeViewerWindow.cpp SigCfg.cpp SignalObj.cpp SignalShape.cpp SignalType.cpp SignalWindow.cpp SignalWindowLink.cpp SimpleHud.cpp Skydome.cpp SoundLib.cpp SoundList.cpp SoundManager.cpp SoundRegionObj.cpp SoundSource.cpp SoundSourceObj.cpp SoundVariables.cpp SpeedPost.cpp SpeedPostDAT.cpp SpeedpostObj.cpp StaticObj.cpp TDB.cpp TDBClient.cpp TFile.cpp TRitem.cpp TRnode.cpp TS.cpp TSection.cpp TSectionDAT.cpp TarFile.cpp Terrain.cpp TerrainClient.cpp TerrainInfo.cpp TerrainLib.cpp TerrainLibQt.cpp TerrainLibQtClient.cpp TerrainLibSimple.cpp TerrainTools.cpp TerrainTreeWindow.cpp TerrainWaterWindow.cpp TerrainWaterWindow2.cpp TexLib.cpp TextEditDialog.cpp TextObj.cpp Texture.cpp Tile.cpp TrWatermarkObj.cpp TrackItemObj.cpp TrackObj.cpp TrackShape.cpp Traffic.cpp TrainNetworkEng.cpp TransferObj.cpp TransformWorldObjDialog.cpp Trk.cpp TrkWindow.cpp Undo.cpp UnsavedDialog.cpp UriImageDrawThread.cpp Vector2f.cpp Vector2i.cpp Vector3f.cpp Vector4f.cpp WorldObj.cpp main.cpp
            HEADERS += AboutWindow.h AceLib.h ActLib.h ActionChooseDialog.h Activity.h ActivityEvent.h ActivityEventProperties.h ActivityEventWindow.h ActivityObject.h ActivityServiceProperties.h ActivityServiceWindow.h ActivityTimetable.h ActivityTimetableProperties.h ActivityTimetableWindow.h ActivityTools.h ActivityTrafficProperties.h ActivityTrafficWindow.h Brush.h CELoadWindow.h Camera.h CameraConsist.h CameraFree.h CameraRot.h CarSpawnerObj.h ChooseFileDialog.h ClickableLabel.h ClientInfo.h ClientUsersWindow.h ComplexLine.h ConEditorWindow.h ConInfoWidget.h ConLib.h ConListWidget.h ConUnitsWidget.h Consist.h ContentHierarchyInfo.h Coords.h CoordsGpx.h CoordsKml.h CoordsMkr.h CoordsRoutePlaces.h DynTrackObj.h EditFileNameDialog.h Eng.h EngInfoWidget.h EngLib.h EngListWidget.h Environment.h ErrorMessage.h ErrorMessageProperties.h ErrorMessagesLib.h ErrorMessagesWindow.h FileBuffer.h FileFunctions.h Flex.h ForestObj.h GLH.h GLMatrix.h GLUU.h Game.h GameObj.h GeoCoordinates.h GeoHgtFile.h GeoTerrainFile.h GeoTiffFile.h GeoTools.h GlobalDefinitions.h GroupObj.h GuiFunct.h GuiGlCompass.h HazardObj.h HeightWindow.h ImageLib.h Intersections.h LevelCrObj.h LoadWindow.h MapData.h MapDataOSM.h MapDataUrlImage.h MapLib.h MapWindow.h MstsSoundDefinition.h NaviBox.h NaviWindow.h NewRouteWindow.h OSMFeatures.h ObjFile.h ObjTools.h OglObj.h OpenGL3Renderer.h OrtsWeatherChange.h OverwriteDialog.h PaintTexLib.h ParserX.h Path.h PickupObj.h PlatformObj.h PlayActivitySelectWindow.h Pointer3d.h PoleObj.h ProceduralMstsDyntrack.h ProceduralShape.h PropertiesAbstract.h PropertiesActivityObject.h PropertiesActivityPath.h PropertiesCarspawner.h PropertiesConsist.h PropertiesDyntrack.h PropertiesForest.h PropertiesGroup.h PropertiesLevelCr.h PropertiesPickup.h PropertiesPlatform.h PropertiesRuler.h PropertiesSiding.h PropertiesSignal.h PropertiesSoundRegion.h PropertiesSoundSource.h PropertiesSpeedpost.h PropertiesStatic.h PropertiesTerrain.h PropertiesTrackItem.h PropertiesTrackObj.h PropertiesTransfer.h PropertiesUndefined.h QuadTree.h RandomConsist.h RandomTransformWorldObjDialog.h ReadFile.h Ref.h RenderItem.h Renderer.h Route.h RouteClient.h RouteEditorClient.h RouteEditorGLWidget.h RouteEditorServer.h RouteEditorWindow.h Ruch.h RulerObj.h SFile.h SFileC.h SFileX.h Service.h Shader.h ShapeHierarchyInfo.h ShapeHierarchyWindow.h ShapeInfoWidget.h ShapeLib.h ShapeTemplates.h ShapeTextureInfo.h ShapeTexturesWindow.h ShapeViewWindow.h ShapeViewerGLWidget.h ShapeViewerNavigatorWidget.h ShapeViewerWindow.h SigCfg.h SignalObj.h SignalShape.h SignalType.h SignalWindow.h SignalWindowLink.h SimpleHud.h Skydome.h SoundLib.h SoundList.h SoundManager.h SoundRegionObj.h SoundSource.h SoundSourceObj.h SoundVariables.h SpeedPost.h SpeedPostDAT.h SpeedpostObj.h StaticObj.h TDB.h TDBClient.h TFile.h TRitem.h TRnode.h TS.h TSection.h TSectionDAT.h TarFile.h Terrain.h TerrainClient.h TerrainInfo.h TerrainLib.h TerrainLibQt.h TerrainLibSimple.h TerrainTools.h TerrainTreeWindow.h TerrainWaterWindow.h TerrainWaterWindow2.h TexLib.h TextEditDialog.h TextObj.h Texture.h Tile.h TrWatermarkObj.h TrackItemObj.h TrackObj.h TrackShape.h Traffic.h TrainNetworkEng.h TransferObj.h TransformWorldObjDialog.h Trk.h TrkWindow.h Undo.h UnsavedDialog.h UriImageDrawThread.h Vector2f.h Vector2i.h Vector3f.h Vector4f.h WorldObj.h
            FORMS +=
            RESOURCES +=
            TRANSLATIONS +=
            OBJECTS_DIR = build/Release_x64/MinGW_64b-Windows
            MOC_DIR = 
            RCC_DIR = 
            UI_DIR = 
            QMAKE_CC = gcc
            QMAKE_CXX = g++
            DEFINES += 
            INCLUDEPATH += /e/dev/openal-soft-1.18.2-bin/include 
            LIBS += E:/DEV/openal-soft-1.18.2-bin/libs/Win64/libopenal32.a  
            equals(QT_MAJOR_VERSION, 4) {
            QMAKE_CXXFLAGS += -std=c++11
            }
            equals(QT_MAJOR_VERSION, 5) {
            CONFIG += c++11
            }
            QT += websockets
            LIBS += -lopengl32
            LIBS += -lglu32
            LIBS += -L"E:\dev\glut\glut32bit64bit" -lglut64
            LIBS += -L"E:\DEV\openal-soft-1.18.2-bin\libs\Win64" -lopenal32
            

            Any suggestions on where I explicitly need to specify qdds.dll ??

            E Offline
            E Offline
            eric_from_trainsim
            wrote on last edited by
            #7

            also... am I referencing the directory with the compiled qdds.dll (e.g. E:\DEV\Qt\5.15.2\mingw81_64\plugins\imageformats ) or the sources (e.g. E:\DEV\Qt\5.15.2\Src\qtimageformats\src\plugins\imageformats\dds )??

            Again, I'm a bit new to all this, and simply trying to fix someone else's code who left the project two years ago and hasn't given a whole lot of support since...

            What's boggling is the version compiled in 5.7 builds and runs perfectly, but isn't portable and won't run on a PC without QT, MinGW and possibly a few other items installed.... The version compiled in 5.15.2 and MinGW 810 is portable, but can't support DDS's...

            If this isn't a simple fix, is there a way to run 5.7 and MinGW 810_64?.... I'm not finding a 530_64 anywhere.

            C 1 Reply Last reply
            0
            • E eric_from_trainsim

              also... am I referencing the directory with the compiled qdds.dll (e.g. E:\DEV\Qt\5.15.2\mingw81_64\plugins\imageformats ) or the sources (e.g. E:\DEV\Qt\5.15.2\Src\qtimageformats\src\plugins\imageformats\dds )??

              Again, I'm a bit new to all this, and simply trying to fix someone else's code who left the project two years ago and hasn't given a whole lot of support since...

              What's boggling is the version compiled in 5.7 builds and runs perfectly, but isn't portable and won't run on a PC without QT, MinGW and possibly a few other items installed.... The version compiled in 5.15.2 and MinGW 810 is portable, but can't support DDS's...

              If this isn't a simple fix, is there a way to run 5.7 and MinGW 810_64?.... I'm not finding a 530_64 anywhere.

              C Offline
              C Offline
              ChrisW67
              wrote on last edited by
              #8

              @eric_from_trainsim said in Enabling DDS images in QT5.15.2:

              also... am I referencing the directory with the compiled qdds.dll (e.g. E:\DEV\Qt\5.15.2\mingw81_64\plugins\imageformats ) or the sources (e.g. E:\DEV\Qt\5.15.2\Src\qtimageformats\src\plugins\imageformats\dds )??

              Your application PRO file should not refer to any part of the DDS image format plugin source or compiled plugin library. The compiled and installed plugin library will be loaded at runtime when you attempt to open an image that is not handled by built-in format handling.

              Again, I'm a bit new to all this, and simply trying to fix someone else's code who left the project two years ago and hasn't given a whole lot of support since...

              Often the way of things.

              What's boggling is the version compiled in 5.7 builds and runs perfectly, but isn't portable and won't run on a PC without QT, MinGW and possibly a few other items installed....

              This is a packaging problem. If you have a Qt 5.7 dev environment that can build and run a dynamically linked version of this application, then you almost certainly have everything you need to deploy it in a single folder structure for any recent Windows (i.e. you do not need to separately install a MingW or Qt, but you do need to ship the libs/plugins relevant to the application etc.)

              The version compiled in 5.15.2 and MinGW 810 is portable, but can't support DDS's...

              The support was disabled because it poses a security risk.

              If this isn't a simple fix, is there a way to run 5.7 and MinGW 810_64?.... I'm not finding a 530_64 anywhere.

              You could build from source with MingW but this will not change the packaging requirements.

              E 1 Reply Last reply
              1
              • C ChrisW67

                @eric_from_trainsim said in Enabling DDS images in QT5.15.2:

                also... am I referencing the directory with the compiled qdds.dll (e.g. E:\DEV\Qt\5.15.2\mingw81_64\plugins\imageformats ) or the sources (e.g. E:\DEV\Qt\5.15.2\Src\qtimageformats\src\plugins\imageformats\dds )??

                Your application PRO file should not refer to any part of the DDS image format plugin source or compiled plugin library. The compiled and installed plugin library will be loaded at runtime when you attempt to open an image that is not handled by built-in format handling.

                Again, I'm a bit new to all this, and simply trying to fix someone else's code who left the project two years ago and hasn't given a whole lot of support since...

                Often the way of things.

                What's boggling is the version compiled in 5.7 builds and runs perfectly, but isn't portable and won't run on a PC without QT, MinGW and possibly a few other items installed....

                This is a packaging problem. If you have a Qt 5.7 dev environment that can build and run a dynamically linked version of this application, then you almost certainly have everything you need to deploy it in a single folder structure for any recent Windows (i.e. you do not need to separately install a MingW or Qt, but you do need to ship the libs/plugins relevant to the application etc.)

                The version compiled in 5.15.2 and MinGW 810 is portable, but can't support DDS's...

                The support was disabled because it poses a security risk.

                If this isn't a simple fix, is there a way to run 5.7 and MinGW 810_64?.... I'm not finding a 530_64 anywhere.

                You could build from source with MingW but this will not change the packaging requirements.

                E Offline
                E Offline
                eric_from_trainsim
                wrote on last edited by eric_from_trainsim
                #9

                @ChrisW67

                Thanks....

                I repackaged the 5.7 version again today, and the error I get running on a vanilla PC (no QT or MinGW installs) is:

                This application failed to start because it could not find or load the Qt platform plugin "windows"in ""

                I've checked to see that the qt_plugin_path isn't set, and platform\qwindows.dll is present in the application directory... The vanilla PC does have a number of apps with qwindows.dll present in a directory, mainly OneDrive and DropBox.

                Both versions 5.7 and 5.15 are running in single folder structure -- both also run fine on the machine they're compiled on.

                Taking to a vanilla machine, only the 5.15 version will run without the DDS support....

                C 1 Reply Last reply
                0
                • E eric_from_trainsim

                  @ChrisW67

                  Thanks....

                  I repackaged the 5.7 version again today, and the error I get running on a vanilla PC (no QT or MinGW installs) is:

                  This application failed to start because it could not find or load the Qt platform plugin "windows"in ""

                  I've checked to see that the qt_plugin_path isn't set, and platform\qwindows.dll is present in the application directory... The vanilla PC does have a number of apps with qwindows.dll present in a directory, mainly OneDrive and DropBox.

                  Both versions 5.7 and 5.15 are running in single folder structure -- both also run fine on the machine they're compiled on.

                  Taking to a vanilla machine, only the 5.15 version will run without the DDS support....

                  C Offline
                  C Offline
                  ChrisW67
                  wrote on last edited by
                  #10

                  @eric_from_trainsim To diagnose why the platform plugin is not loading refer to my earlier post.

                  It is possible that the platform DLL came from the wrong version of Qt.
                  Its possible that another Qt library has not been packaged or is the wrong version.
                  A common mistake is to ship the libraries underlying Qt Creator rather than the Qt library the application was built against.

                  What is the content of the deployment folder and where did the DLLs come from?

                  E 1 Reply Last reply
                  0
                  • C ChrisW67

                    @eric_from_trainsim To diagnose why the platform plugin is not loading refer to my earlier post.

                    It is possible that the platform DLL came from the wrong version of Qt.
                    Its possible that another Qt library has not been packaged or is the wrong version.
                    A common mistake is to ship the libraries underlying Qt Creator rather than the Qt library the application was built against.

                    What is the content of the deployment folder and where did the DLLs come from?

                    E Offline
                    E Offline
                    eric_from_trainsim
                    wrote on last edited by
                    #11

                    @ChrisW67 If I set the qt_plugins_debug=1 and run the EXE from a command prompt, the app fires up per normal, and I get nothing in the QDebug log or at the command prompt....

                    All of the files that are in the deployment folder are from the bin of the versions compiled i.e. the 5.7 version including the qwindows all come from my QT/5.7/mingww53_32/bin or QT/5.7/mingww53_32/plugins/platforms directories, and the 5.15.2 version come from Qt/5.15.2/mingw81_64/bin and Qt/5.15.2/mingw81_64/plugins/platforms

                    Contents are:

                    Qt5WebSockets.dll
                    Qt5Widgets.dll
                    Qt5Network.dll
                    Qt5Gui.dll
                    Qt5Core.dll
                    libstdc++-6.dll
                    libwinpthread-1.dll
                    libgcc_s_dw2-1.dll
                    OpenAL32.dll
                    platforms\qwindows.dll

                    While I still can't get the 5.7 version to be portable, on a guess, I took the 5.15.2 version and added the plugins/imageformats directory to the distribution, and now it seems to be working. I've sent it out to some folks for testing to be certain, and should know more in about 12-15 hours.

                    E 1 Reply Last reply
                    0
                    • E eric_from_trainsim

                      @ChrisW67 If I set the qt_plugins_debug=1 and run the EXE from a command prompt, the app fires up per normal, and I get nothing in the QDebug log or at the command prompt....

                      All of the files that are in the deployment folder are from the bin of the versions compiled i.e. the 5.7 version including the qwindows all come from my QT/5.7/mingww53_32/bin or QT/5.7/mingww53_32/plugins/platforms directories, and the 5.15.2 version come from Qt/5.15.2/mingw81_64/bin and Qt/5.15.2/mingw81_64/plugins/platforms

                      Contents are:

                      Qt5WebSockets.dll
                      Qt5Widgets.dll
                      Qt5Network.dll
                      Qt5Gui.dll
                      Qt5Core.dll
                      libstdc++-6.dll
                      libwinpthread-1.dll
                      libgcc_s_dw2-1.dll
                      OpenAL32.dll
                      platforms\qwindows.dll

                      While I still can't get the 5.7 version to be portable, on a guess, I took the 5.15.2 version and added the plugins/imageformats directory to the distribution, and now it seems to be working. I've sent it out to some folks for testing to be certain, and should know more in about 12-15 hours.

                      E Offline
                      E Offline
                      eric_from_trainsim
                      wrote on last edited by
                      #12

                      Adding ./imageformats with the related DLL's in the application directory was indeed the missing step for me. While having everything within the EXE would be ideal, this approach is at least manageable given an open source project with maybe a couple hundred users worldwide.

                      Thanks to @ChrisW67 and @SGaist for your replies.

                      1 Reply Last reply
                      0
                      • E eric_from_trainsim has marked this topic as solved on

                      • Login

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