How do i use poppler lib in Qt quick application.
-
@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 -
Your desktop machine is.
I meant the target that runs Android. In any case, if it's ARM, libpoppler was not cross-compiled.
-
What did you do to build poppler until now ?
-
@SGaist
sir,
i used the settings given below to cross compile poppler libraryif(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) -
Did you follow the example I linked ?
-
@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. -
What did you do exactly for your latest try ?
-
@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 -
The line contains the instructions to configure, build and install freetype for Android..
-
@SGaist
sir,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/CMakeTmpRun 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 functionmain': /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/CMakeTmpRun 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 functionmain': /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/CMakeTmpRun 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/CMakeTmpRun 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/CMakeTmpRun 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;
} -
Which step did you do exactly ?
-
@SGaist
when i try to use the bellow command
ninja && ninja installld: 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