Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. 3rd Party Software
  4. QT Error with Twain Data Source
Forum Updated to NodeBB v4.3 + New Features

QT Error with Twain Data Source

Scheduled Pinned Locked Moved Unsolved 3rd Party Software
37 Posts 2 Posters 14.0k 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.
  • B Offline
    B Offline
    bhim
    wrote on 20 Dec 2017, 21:58 last edited by
    #16

    Thanks It much better now. Though i am still getting lot of errors but these are datatype error and seems like code specific.

    Thanks a lot for your help.

    Bhim

    M 1 Reply Last reply 20 Dec 2017, 22:07
    0
    • B bhim
      20 Dec 2017, 21:58

      Thanks It much better now. Though i am still getting lot of errors but these are datatype error and seems like code specific.

      Thanks a lot for your help.

      Bhim

      M Offline
      M Offline
      mrjj
      Lifetime Qt Champion
      wrote on 20 Dec 2017, 22:07 last edited by
      #17

      @bhim
      Np.
      I noticed there are some FreeImage lib files.
      Not sure it uses it but make sure they are compatible with vs 2008 if it does.

      Its pretty old project. there are no newer twain samples?

      1 Reply Last reply
      0
      • B Offline
        B Offline
        bhim
        wrote on 20 Dec 2017, 22:10 last edited by bhim
        #18

        This is the latest sample they have. With this i m getting below error , would you be able to help with this one as well?

        I know how to take care of these in VS but not in QT.

        0_1513807832766_fe2a45f3-5e33-45ca-984a-82710a9c14af-image.png

        M 1 Reply Last reply 20 Dec 2017, 22:15
        0
        • B bhim
          20 Dec 2017, 22:10

          This is the latest sample they have. With this i m getting below error , would you be able to help with this one as well?

          I know how to take care of these in VS but not in QT.

          0_1513807832766_fe2a45f3-5e33-45ca-984a-82710a9c14af-image.png

          M Offline
          M Offline
          mrjj
          Lifetime Qt Champion
          wrote on 20 Dec 2017, 22:15 last edited by
          #19

          @bhim
          Well Qt is just a normal c++ LIB
          and those are normal windows API calls so fix them like you normal would.
          seems to be unicode related.
          Didnt it later become common to put _TCHAR or something in front ?
          or use wchar_t* and not char * ?
          maybe you can just use the A version of the API and not W version

          1 Reply Last reply
          0
          • M Offline
            M Offline
            mrjj
            Lifetime Qt Champion
            wrote on 20 Dec 2017, 22:19 last edited by
            #20

            Hi
            I wondered if
            https://github.com/twain/twain-samples
            is something else than the twain you try ?

            1 Reply Last reply
            0
            • B Offline
              B Offline
              bhim
              wrote on 20 Dec 2017, 23:41 last edited by
              #21

              I tried the exact same exact same Twain.

              M 1 Reply Last reply 21 Dec 2017, 06:56
              0
              • B bhim
                20 Dec 2017, 23:41

                I tried the exact same exact same Twain.

                M Offline
                M Offline
                mrjj
                Lifetime Qt Champion
                wrote on 21 Dec 2017, 06:56 last edited by
                #22

                @bhim
                Ok but it didnt work or was not what you wanted?

                1 Reply Last reply
                0
                • B Offline
                  B Offline
                  bhim
                  wrote on 21 Dec 2017, 15:36 last edited by
                  #23

                  It did not work. However i am able to resolve most of the error for data type conversion. I am now stuck at below, i am not able to go to definition\declaration of this method to make any change. I know how to do it in Visual Studio but not in QT. Can you please help

                  0_1513870545958_2d8762fa-efe9-42b6-9bcb-a13c435fa223-image.png

                  1 Reply Last reply
                  0
                  • B Offline
                    B Offline
                    bhim
                    wrote on 21 Dec 2017, 17:01 last edited by bhim
                    #24

                    Hi,

                    I have resolved all string related error. Now my project is showing this :-1: error: LNK1104: cannot open file 'freeimage.lib' . If i could find the Visual Studio equivalent or Project property in QT, that would be very helpful to very file the linker paths.

                    M 1 Reply Last reply 21 Dec 2017, 18:42
                    0
                    • B bhim
                      21 Dec 2017, 17:01

                      Hi,

                      I have resolved all string related error. Now my project is showing this :-1: error: LNK1104: cannot open file 'freeimage.lib' . If i could find the Visual Studio equivalent or Project property in QT, that would be very helpful to very file the linker paths.

                      M Offline
                      M Offline
                      mrjj
                      Lifetime Qt Champion
                      wrote on 21 Dec 2017, 18:42 last edited by
                      #25

                      @bhim
                      you mean to link the LIB file to the project ?
                      http://doc.qt.io/qt-5/third-party-libraries.html
                      http://doc.qt.io/qtcreator/creator-project-qmake-libraries.html

                      Basically you need a
                      LIBS += -L"3rdparty/CatWhisperer/lib" -lCatWhisperer
                      (with correct names of course)

                      1 Reply Last reply
                      1
                      • B Offline
                        B Offline
                        bhim
                        wrote on 21 Dec 2017, 19:37 last edited by
                        #26

                        Thanks , this resolve the lib issue. Now below 2 error

                        14:31:45: Running steps for project src...
                        14:31:45: Configuration unchanged, skipping qmake step.
                        14:31:45: Starting: "C:\Qt\qtcreator-4.5.0\bin\jom.exe"
                        c:\Qt\4.8.7\bin\qmake.exe -spec c:\Qt\4.8.7\mkspecs\win32-msvc2008 CONFIG+=release -o Makefile ..\src\src.pro
                        C:\Qt\qtcreator-4.5.0\bin\jom.exe -f Makefile.Debug
                        link /LIBPATH:"c:\Qt\4.8.7\lib" /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /DLL /MANIFEST /MANIFESTFILE:"debug\TWAINDS_FreeImage.intermediate.manifest" /OUT:debug\TWAINDS_FreeImage.dll @C:\Users\rathorb\AppData\Local\Temp\TWAINDS_FreeImage.dll.13524.62.jom
                        TWAIN_UI.obj : error LNK2019: unresolved external symbol __imp__SHGetSpecialFolderPathA@16 referenced in function "public: __thiscall CTWAIN_UI::CTWAIN_UI(class CTWAINDS_FreeImage *)" (??0CTWAIN_UI@@QAE@PAVCTWAINDS_FreeImage@@@Z)
                        debug\TWAINDS_FreeImage.dll : fatal error LNK1120: 1 unresolved externals
                        jom: C:\ODIImages\Source\Twain\twain-samples-master\twain-samples-master\TWAIN-Samples\Twain_DS_sample01\build-src-Unnamed-Release\Makefile.Debug [debug\TWAINDS_FreeImage.dll] Error 1120
                        jom: C:\ODIImages\Source\Twain\twain-samples-master\twain-samples-master\TWAIN-Samples\Twain_DS_sample01\build-src-Unnamed-Release\Makefile [debug] Error 2
                        14:31:51: The process "C:\Qt\qtcreator-4.5.0\bin\jom.exe" exited with code 2.
                        Error while building/deploying project src (kit: Unnamed)
                        The kit Unnamed has configuration issues which might be the root cause for this problem.
                        When executing step "Make"
                        14:31:51: Elapsed time: 00:06.

                        debug\TWAINDS_FreeImage.dll:-1: error: LNK1120: 1 unresolved externals

                        1 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          mrjj
                          Lifetime Qt Champion
                          wrote on 21 Dec 2017, 19:48 last edited by
                          #27

                          Hi
                          seems you need to link to
                          Shell32.lib also
                          https://msdn.microsoft.com/en-us/library/windows/desktop/bb762204(v=vs.85).aspx

                          1 Reply Last reply
                          1
                          • B Offline
                            B Offline
                            bhim
                            wrote on 21 Dec 2017, 20:21 last edited by
                            #28

                            Thanks. I m able to build and run it now. But not able to find the output file, a .ds file anywhere? Can you please help me find where project is generating this file.

                            Below is pro file code

                            unix {
                            TEMPLATE = lib
                            VERSION = 1.0
                            DEFINES += UNIX
                            }
                            PROJECT_FILE_NAME = TWAINDS_FreeImage
                            TARGET = $$PROJECT_FILE_NAME
                            LIBS += -lfreeimage

                            TWAIN datasources end with a .ds instead of .so

                            QMAKE_POST_LINK = cp
                            $(TARGET)
                            $${PROJECT_FILE_NAME}.ds
                            ds.path = /usr/local/lib/twain/FreeImage
                            ds.files = $${PROJECT_FILE_NAME}.ds
                            TWAIN_logo.png
                            INSTALLS += ds
                            QMAKE_CLEAN = $${PROJECT_FILE_NAME}.ds
                            INCLUDEPATH = /usr/local/include
                            ../../pub/external/include
                            ../../pub/include
                            ../../visual_studio/Debug32
                            ../../common
                            LIBS += -L"../../pub/external/lib" -lFreeImage
                            SOURCES += ../../common/CTiffWriter.cpp
                            ../../common/CommonTWAIN.cpp
                            CommonDS.cpp
                            CScanner_FreeImage.cpp
                            CTWAINDS_Base.cpp
                            CTWAINDS_FreeImage.cpp
                            DSMInterface.cpp
                            TWAINContainer.cpp
                            TWAINContainerFix32.cpp
                            TWAINContainerFrame.cpp
                            TWAINContainerInt.cpp
                            CTWAINDS_Sample1.cpp
                            TWAIN_UI.cpp
                            TWAINContainerString.cpp
                            TWAINContainerFix32Range.cpp
                            TWAINContainerBool.cpp
                            QT_UI.cpp
                            Qt_MainForm.cpp
                            Qt_About.cpp
                            Qt_ProfileName.cpp
                            HEADERS += ../../common/Common.h
                            ../../common/CommonTWAIN.h
                            ../../common/CTiffWriter.h
                            CScanner_FreeImage.h
                            CTWAINDS_Base.h
                            CTWAINDS_FreeImage.h
                            CommonDS.h
                            DSMInterface.h
                            TWAINContainerFix32.h
                            TWAINContainerFrame.h
                            TWAINContainer.h
                            TWAINContainerInt.h
                            CTWAINDS_Sample1.h
                            TWAIN_UI.h
                            TWAINContainerString.h
                            TWAINContainerFix32Range.h
                            TWAINContainerBool.h
                            QT_UI.h
                            Qt_MainForm.h
                            Qt_About.h
                            Qt_ProfileName.h
                            ui_About.h
                            ui_MainForm.h
                            ui_About.h
                            TEMPLATE = lib
                            CONFIG += warn_on
                            debug
                            x86 ppc

                            QMAKE_BUNDLE_EXTENSION = ds

                            this project doesn't need any QT libs.

                            QMAKE_LIBS_QT =
                            QMAKE_LIBS_QT_THREAD =
                            FORMS += MainForm.ui
                            About.ui
                            ProfileName.ui
                            RESOURCES += qtresources.qrc

                            unix|win32: LIBS += -lshell32

                            M 1 Reply Last reply 21 Dec 2017, 20:26
                            0
                            • B bhim
                              21 Dec 2017, 20:21

                              Thanks. I m able to build and run it now. But not able to find the output file, a .ds file anywhere? Can you please help me find where project is generating this file.

                              Below is pro file code

                              unix {
                              TEMPLATE = lib
                              VERSION = 1.0
                              DEFINES += UNIX
                              }
                              PROJECT_FILE_NAME = TWAINDS_FreeImage
                              TARGET = $$PROJECT_FILE_NAME
                              LIBS += -lfreeimage

                              TWAIN datasources end with a .ds instead of .so

                              QMAKE_POST_LINK = cp
                              $(TARGET)
                              $${PROJECT_FILE_NAME}.ds
                              ds.path = /usr/local/lib/twain/FreeImage
                              ds.files = $${PROJECT_FILE_NAME}.ds
                              TWAIN_logo.png
                              INSTALLS += ds
                              QMAKE_CLEAN = $${PROJECT_FILE_NAME}.ds
                              INCLUDEPATH = /usr/local/include
                              ../../pub/external/include
                              ../../pub/include
                              ../../visual_studio/Debug32
                              ../../common
                              LIBS += -L"../../pub/external/lib" -lFreeImage
                              SOURCES += ../../common/CTiffWriter.cpp
                              ../../common/CommonTWAIN.cpp
                              CommonDS.cpp
                              CScanner_FreeImage.cpp
                              CTWAINDS_Base.cpp
                              CTWAINDS_FreeImage.cpp
                              DSMInterface.cpp
                              TWAINContainer.cpp
                              TWAINContainerFix32.cpp
                              TWAINContainerFrame.cpp
                              TWAINContainerInt.cpp
                              CTWAINDS_Sample1.cpp
                              TWAIN_UI.cpp
                              TWAINContainerString.cpp
                              TWAINContainerFix32Range.cpp
                              TWAINContainerBool.cpp
                              QT_UI.cpp
                              Qt_MainForm.cpp
                              Qt_About.cpp
                              Qt_ProfileName.cpp
                              HEADERS += ../../common/Common.h
                              ../../common/CommonTWAIN.h
                              ../../common/CTiffWriter.h
                              CScanner_FreeImage.h
                              CTWAINDS_Base.h
                              CTWAINDS_FreeImage.h
                              CommonDS.h
                              DSMInterface.h
                              TWAINContainerFix32.h
                              TWAINContainerFrame.h
                              TWAINContainer.h
                              TWAINContainerInt.h
                              CTWAINDS_Sample1.h
                              TWAIN_UI.h
                              TWAINContainerString.h
                              TWAINContainerFix32Range.h
                              TWAINContainerBool.h
                              QT_UI.h
                              Qt_MainForm.h
                              Qt_About.h
                              Qt_ProfileName.h
                              ui_About.h
                              ui_MainForm.h
                              ui_About.h
                              TEMPLATE = lib
                              CONFIG += warn_on
                              debug
                              x86 ppc

                              QMAKE_BUNDLE_EXTENSION = ds

                              this project doesn't need any QT libs.

                              QMAKE_LIBS_QT =
                              QMAKE_LIBS_QT_THREAD =
                              FORMS += MainForm.ui
                              About.ui
                              ProfileName.ui
                              RESOURCES += qtresources.qrc

                              unix|win32: LIBS += -lshell32

                              M Offline
                              M Offline
                              mrjj
                              Lifetime Qt Champion
                              wrote on 21 Dec 2017, 20:26 last edited by
                              #29

                              @bhim
                              Its not in build folder?

                              1 Reply Last reply
                              0
                              • B Offline
                                B Offline
                                bhim
                                wrote on 21 Dec 2017, 20:27 last edited by
                                #30

                                Its there, but its in dll extension, its supposed to be .ds extension.

                                M 1 Reply Last reply 21 Dec 2017, 20:27
                                0
                                • B bhim
                                  21 Dec 2017, 20:27

                                  Its there, but its in dll extension, its supposed to be .ds extension.

                                  M Offline
                                  M Offline
                                  mrjj
                                  Lifetime Qt Champion
                                  wrote on 21 Dec 2017, 20:27 last edited by
                                  #31

                                  @bhim
                                  What is a .ds file ?

                                  1 Reply Last reply
                                  0
                                  • B Offline
                                    B Offline
                                    bhim
                                    wrote on 21 Dec 2017, 20:52 last edited by
                                    #32

                                    ds is Twain data source, OR Twain Driver. See below from my pro file, based on this it should have generated

                                    TWAIN datasources end with a .ds instead of .so

                                    QMAKE_POST_LINK = cp
                                    $(TARGET)
                                    $${PROJECT_FILE_NAME}.ds
                                    ds.path = /usr/local/lib/twain/FreeImage
                                    ds.files = $${PROJECT_FILE_NAME}.ds
                                    TWAIN_logo.png
                                    INSTALLS += ds
                                    QMAKE_CLEAN = $${PROJECT_FILE_NAME}.ds

                                    M 1 Reply Last reply 21 Dec 2017, 20:55
                                    0
                                    • B bhim
                                      21 Dec 2017, 20:52

                                      ds is Twain data source, OR Twain Driver. See below from my pro file, based on this it should have generated

                                      TWAIN datasources end with a .ds instead of .so

                                      QMAKE_POST_LINK = cp
                                      $(TARGET)
                                      $${PROJECT_FILE_NAME}.ds
                                      ds.path = /usr/local/lib/twain/FreeImage
                                      ds.files = $${PROJECT_FILE_NAME}.ds
                                      TWAIN_logo.png
                                      INSTALLS += ds
                                      QMAKE_CLEAN = $${PROJECT_FILE_NAME}.ds

                                      M Offline
                                      M Offline
                                      mrjj
                                      Lifetime Qt Champion
                                      wrote on 21 Dec 2017, 20:55 last edited by
                                      #33

                                      @bhim
                                      Ok but a SO file is a DLL.
                                      so being on windows, i wonder if the DS is just a DLL.

                                      Is that to load into the sample project ?

                                      1 Reply Last reply
                                      0
                                      • B Offline
                                        B Offline
                                        bhim
                                        wrote on 21 Dec 2017, 22:27 last edited by
                                        #34

                                        I change the DLL extension to ds and replaced with original DS file. It dd not work, it was not even detected. I think if somehow i could emit a .ds file , it will work. Below is the project property of visual studio project which generated original ds file

                                        0_1513895238850_1e6725b3-35b3-43c1-8cc2-32666e9a61cf-image.png

                                        1 Reply Last reply
                                        0
                                        • M Offline
                                          M Offline
                                          mrjj
                                          Lifetime Qt Champion
                                          wrote on 21 Dec 2017, 22:36 last edited by
                                          #35

                                          Sorry i have no idea what / how a ds file should be produced.
                                          Site says
                                          copy TWAINDS_Sample[32|64].ds to /Windows/twain_[32|64]/sample2
                                          so it looks like a DLL. but sadly i cant find out more.

                                          1 Reply Last reply
                                          0

                                          25/37

                                          21 Dec 2017, 18:42

                                          • Login

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