Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Special Interest Groups
  3. Independent Developers
  4. How do i use poppler lib in Qt quick application.
Forum Updated to NodeBB v4.3 + New Features

How do i use poppler lib in Qt quick application.

Scheduled Pinned Locked Moved Unsolved Independent Developers
35 Posts 4 Posters 8.8k Views 1 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 Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #18

    Did you check the architecture of your cross-compiled library ?

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

    NIvil WilsonN 1 Reply Last reply
    0
    • SGaistS SGaist

      Did you check the architecture of your cross-compiled library ?

      NIvil WilsonN Offline
      NIvil WilsonN Offline
      NIvil Wilson
      wrote on last edited by
      #19

      @SGaist
      sir ,
      the architecture of cross-compiled library is given below.

      readelf -h libpoppler-qt5.so.1.27.0
      ELF Header:
      Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
      Class: ELF64
      Data: 2's complement, little endian
      Version: 1 (current)
      OS/ABI: UNIX - System V
      ABI Version: 0
      Type: DYN (Shared object file)
      Machine: Advanced Micro Devices X86-64
      Version: 0x1
      Entry point address: 0x334f0
      Start of program headers: 64 (bytes into file)
      Start of section headers: 14323992 (bytes into file)
      Flags: 0x0
      Size of this header: 64 (bytes)
      Size of program headers: 56 (bytes)
      Number of program headers: 11
      Size of section headers: 64 (bytes)
      Number of section headers: 39
      Section header string table index: 38

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

        @NIvil-Wilson said in How do i use poppler lib in Qt quick application.:

        Machine: Advanced Micro Devices X86-64

        Is your device running on a x86_64 machine ?

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

        NIvil WilsonN 1 Reply Last reply
        0
        • SGaistS SGaist

          @NIvil-Wilson said in How do i use poppler lib in Qt quick application.:

          Machine: Advanced Micro Devices X86-64

          Is your device running on a x86_64 machine ?

          NIvil WilsonN Offline
          NIvil WilsonN Offline
          NIvil Wilson
          wrote on last edited by NIvil Wilson
          #21

          @SGaist said in How do i use poppler lib in Qt quick application.:

          x86_64

          uname -a
          Linux nivilwilsonp-desktop 5.8.0-48-generic #54~20.04.1-Ubuntu SMP Sat Mar 20 13:40:25 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

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

            Your desktop machine is.

            I meant the target that runs Android. In any case, if it's ARM, libpoppler was not cross-compiled.

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

            NIvil WilsonN 1 Reply Last reply
            1
            • SGaistS SGaist

              Your desktop machine is.

              I meant the target that runs Android. In any case, if it's ARM, libpoppler was not cross-compiled.

              NIvil WilsonN Offline
              NIvil WilsonN Offline
              NIvil Wilson
              wrote on last edited by
              #23

              @SGaist
              sir,
              the target device is ARM.could you give me instructions to cross compile libpoppler for ARM.

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

                What did you do to build poppler until now ?

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

                NIvil WilsonN 1 Reply Last reply
                0
                • SGaistS SGaist

                  What did you do to build poppler until now ?

                  NIvil WilsonN Offline
                  NIvil WilsonN Offline
                  NIvil Wilson
                  wrote on last edited by
                  #25

                  @SGaist
                  sir,
                  i used the settings given below to cross compile poppler library

                  if(NOT DEFINED CMAKE_CROSSCOMPILING)
                  set(CMAKE_CROSSCOMPILING "TRUE")
                  endif()

                  set(CMAKE_SYSTEM_NAME Android)
                  set(CMAKE_SYSTEM_VERSION 21) # API level
                  set(CMAKE_ANDROID_ARCH_ABI arm64-v8a)
                  set(CMAKE_ANDROID_NDK /home/nivilwilsonp/Android/Sdk/ndk/21.3.6528147)
                  set(CMAKE_ANDROID_STL_TYPE c++_shared)

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

                    You might want to check here for how they build it for Androïd.

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

                    NIvil WilsonN 1 Reply Last reply
                    1
                    • SGaistS SGaist

                      You might want to check here for how they build it for Androïd.

                      NIvil WilsonN Offline
                      NIvil WilsonN Offline
                      NIvil Wilson
                      wrote on last edited by NIvil Wilson
                      #27

                      @SGaist
                      sir, i tried to compile poppler for android arm64-v8a but it always compiled to "x86_64".

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

                        Did you follow the example I linked ?

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

                        NIvil WilsonN 1 Reply Last reply
                        0
                        • SGaistS SGaist

                          Did you follow the example I linked ?

                          NIvil WilsonN Offline
                          NIvil WilsonN Offline
                          NIvil Wilson
                          wrote on last edited by
                          #29

                          @SGaist
                          sir, i tried it many times .i changed the architecture and tried many times but it only compile to x86_64 architecture only.I think this is related to configuration mistake that i made cmake compilation process. sorry for my bad english .google translate help me very much these days.

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

                            What did you do exactly for your latest try ?

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

                            NIvil WilsonN 1 Reply Last reply
                            0
                            • SGaistS SGaist

                              What did you do exactly for your latest try ?

                              NIvil WilsonN Offline
                              NIvil WilsonN Offline
                              NIvil Wilson
                              wrote on last edited by
                              #31

                              @SGaist
                              sir, i couldnt understant this line " CFLAGS=-std=gnu99 STANDALONE_EXTRA="--arch arm64" /opt/helpers/build-standalone " which is in the link you given click here

                              Screenshot from 2021-06-11 18-01-59.png

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

                                The line contains the instructions to configure, build and install freetype for Android..

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

                                NIvil WilsonN 1 Reply Last reply
                                0
                                • SGaistS SGaist

                                  The line contains the instructions to configure, build and install freetype for Android..

                                  NIvil WilsonN Offline
                                  NIvil WilsonN Offline
                                  NIvil Wilson
                                  wrote on last edited by NIvil Wilson
                                  #33

                                  @SGaist
                                  sir,

                                  Screenshot from 2021-06-12 14-10-50.png

                                  cmake -G Ninja .. -DCMAKE_TOOLCHAIN_FILE=~/Desktop/c++/poppler-21.06.1/build.cmake

                                  contents of CMakeError.log

                                  Determining if the function fseek64 exists failed with the following output:
                                  Change Dir: /home/nivilwilsonp/Desktop/c++/poppler-21.06.1/build/CMakeFiles/CMakeTmp

                                  Run Build Command(s):/usr/bin/ninja cmTC_8bd25 && [1/2] Building C object CMakeFiles/cmTC_8bd25.dir/CheckFunctionExists.c.o
                                  [2/2] Linking C executable cmTC_8bd25
                                  FAILED: cmTC_8bd25
                                  : && /home/nivilwilsonp/Android/Sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang --target=aarch64-none-linux-android21 -Wall -std=c99 -D_DEFAULT_SOURCE -DCHECK_FUNCTION_EXISTS=fseek64 -g -funwind-tables -no-canonical-prefixes -fexceptions -fPIE -pie -Wl,--gc-sections CMakeFiles/cmTC_8bd25.dir/CheckFunctionExists.c.o -o cmTC_8bd25 -latomic -lm && :
                                  CMakeFiles/cmTC_8bd25.dir/CheckFunctionExists.c.o: In function main': /usr/share/cmake-3.16/Modules/CheckFunctionExists.c:17: undefined reference to fseek64'
                                  clang: error: linker command failed with exit code 1 (use -v to see invocation)
                                  ninja: build stopped: subcommand failed.

                                  Determining if the function ftell64 exists failed with the following output:
                                  Change Dir: /home/nivilwilsonp/Desktop/c++/poppler-21.06.1/build/CMakeFiles/CMakeTmp

                                  Run Build Command(s):/usr/bin/ninja cmTC_5f037 && [1/2] Building C object CMakeFiles/cmTC_5f037.dir/CheckFunctionExists.c.o
                                  [2/2] Linking C executable cmTC_5f037
                                  FAILED: cmTC_5f037
                                  : && /home/nivilwilsonp/Android/Sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang --target=aarch64-none-linux-android21 -Wall -std=c99 -D_DEFAULT_SOURCE -DCHECK_FUNCTION_EXISTS=ftell64 -g -funwind-tables -no-canonical-prefixes -fexceptions -fPIE -pie -Wl,--gc-sections CMakeFiles/cmTC_5f037.dir/CheckFunctionExists.c.o -o cmTC_5f037 -latomic -lm && :
                                  CMakeFiles/cmTC_5f037.dir/CheckFunctionExists.c.o: In function main': /usr/share/cmake-3.16/Modules/CheckFunctionExists.c:17: undefined reference to ftell64'
                                  clang: error: linker command failed with exit code 1 (use -v to see invocation)
                                  ninja: build stopped: subcommand failed.

                                  Performing C SOURCE FILE Test HAVE_NDIR_H failed with the following output:
                                  Change Dir: /home/nivilwilsonp/Desktop/c++/poppler-21.06.1/build/CMakeFiles/CMakeTmp

                                  Run Build Command(s):/usr/bin/ninja cmTC_53db5 && [1/2] Building C object CMakeFiles/cmTC_53db5.dir/src.c.o
                                  FAILED: CMakeFiles/cmTC_53db5.dir/src.c.o
                                  /home/nivilwilsonp/Android/Sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang --target=aarch64-none-linux-android21 -Wall -std=c99 -D_DEFAULT_SOURCE -DHAVE_NDIR_H -g -funwind-tables -no-canonical-prefixes -fexceptions -o CMakeFiles/cmTC_53db5.dir/src.c.o -c src.c
                                  src.c:1:10: fatal error: 'ndir.h' file not found
                                  #include <ndir.h>
                                  ^~~~~~~~
                                  1 error generated.
                                  ninja: build stopped: subcommand failed.

                                  Source file was:
                                  #include <ndir.h>

                                  int main(int argc, char argv[])
                                  {
                                  DIR
                                  d = 0;
                                  return 0;
                                  }

                                  Performing C SOURCE FILE Test HAVE_SYS_DIR_H failed with the following output:
                                  Change Dir: /home/nivilwilsonp/Desktop/c++/poppler-21.06.1/build/CMakeFiles/CMakeTmp

                                  Run Build Command(s):/usr/bin/ninja cmTC_4a64d && [1/2] Building C object CMakeFiles/cmTC_4a64d.dir/src.c.o
                                  FAILED: CMakeFiles/cmTC_4a64d.dir/src.c.o
                                  /home/nivilwilsonp/Android/Sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang --target=aarch64-none-linux-android21 -Wall -std=c99 -D_DEFAULT_SOURCE -DHAVE_SYS_DIR_H -g -funwind-tables -no-canonical-prefixes -fexceptions -o CMakeFiles/cmTC_4a64d.dir/src.c.o -c src.c
                                  src.c:1:10: fatal error: 'sys/dir.h' file not found
                                  #include <sys/dir.h>
                                  ^~~~~~~~~~~
                                  1 error generated.
                                  ninja: build stopped: subcommand failed.

                                  Source file was:
                                  #include <sys/dir.h>

                                  int main(int argc, char argv[])
                                  {
                                  DIR
                                  d = 0;
                                  return 0;
                                  }

                                  Performing C SOURCE FILE Test HAVE_SYS_NDIR_H failed with the following output:
                                  Change Dir: /home/nivilwilsonp/Desktop/c++/poppler-21.06.1/build/CMakeFiles/CMakeTmp

                                  Run Build Command(s):/usr/bin/ninja cmTC_5a9f7 && [1/2] Building C object CMakeFiles/cmTC_5a9f7.dir/src.c.o
                                  FAILED: CMakeFiles/cmTC_5a9f7.dir/src.c.o
                                  /home/nivilwilsonp/Android/Sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang --target=aarch64-none-linux-android21 -Wall -std=c99 -D_DEFAULT_SOURCE -DHAVE_SYS_NDIR_H -g -funwind-tables -no-canonical-prefixes -fexceptions -o CMakeFiles/cmTC_5a9f7.dir/src.c.o -c src.c
                                  src.c:1:10: fatal error: 'sys/ndir.h' file not found
                                  #include <sys/ndir.h>
                                  ^~~~~~~~~~~~
                                  1 error generated.
                                  ninja: build stopped: subcommand failed.

                                  Source file was:
                                  #include <sys/ndir.h>

                                  int main(int argc, char argv[])
                                  {
                                  DIR
                                  d = 0;
                                  return 0;
                                  }

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

                                    Which step did you do exactly ?

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

                                    NIvil WilsonN 1 Reply Last reply
                                    0
                                    • SGaistS SGaist

                                      Which step did you do exactly ?

                                      NIvil WilsonN Offline
                                      NIvil WilsonN Offline
                                      NIvil Wilson
                                      wrote on last edited by NIvil Wilson
                                      #35

                                      @SGaist
                                      when i try to use the bellow command
                                      ninja && ninja install

                                      ld: error: relocation R_X86_64_PC32 cannot be used against symbol TT_RunIns; recompile with -fPIC

                                      defined in /usr/local/lib/libfreetype.a(truetype.o)
                                      referenced by truetype.c
                                      truetype.o:(tt_size_init_bytecode) in archive /usr/local/lib/libfreetype.a
                                      clang++: error: linker command failed with exit code 1 (use -v to see invocation)

                                      readelf -h libfreetype.a | grep 'Class|File|Machine'
                                      File: libfreetype.a(ftsystem.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(ftdebug.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(ftinit.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(ftbase.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(ftbbox.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(ftbdf.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(ftbitmap.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(ftcid.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(ftfstype.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(ftgasp.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(ftglyph.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(ftgxval.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(ftmm.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(ftotval.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(ftpatent.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(ftpfr.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(ftstroke.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(ftsynth.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(fttype1.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(ftwinfnt.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(truetype.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(type1.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(cff.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(type1cid.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(pfr.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(type42.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(winfnt.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(pcf.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(bdf.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(sfnt.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(autofit.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(pshinter.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(raster.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(smooth.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(ftcache.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(ftgzip.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(ftlzw.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(ftbzip2.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(psaux.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64
                                      File: libfreetype.a(psnames.o)
                                      Class: ELF64
                                      Machine: Advanced Micro Devices X86-64

                                      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