diff --git a/.cache/clangd/index/Main.cpp.9B5C06CBE98622A0.idx b/.cache/clangd/index/Main.cpp.9B5C06CBE98622A0.idx new file mode 100644 index 0000000..455ce56 Binary files /dev/null and b/.cache/clangd/index/Main.cpp.9B5C06CBE98622A0.idx differ diff --git a/.cache/clangd/index/ThumbnailGenerator.cpp.187160649B02AA6F.idx b/.cache/clangd/index/ThumbnailGenerator.cpp.187160649B02AA6F.idx new file mode 100644 index 0000000..fbfb737 Binary files /dev/null and b/.cache/clangd/index/ThumbnailGenerator.cpp.187160649B02AA6F.idx differ diff --git a/.cache/clangd/index/ThumbnailGenerator.hpp.1954E12F78148290.idx b/.cache/clangd/index/ThumbnailGenerator.hpp.1954E12F78148290.idx new file mode 100644 index 0000000..18261db Binary files /dev/null and b/.cache/clangd/index/ThumbnailGenerator.hpp.1954E12F78148290.idx differ diff --git a/CMakeLists.txt b/CMakeLists.txt index 823c318..34173e3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,10 +2,21 @@ cmake_minimum_required(VERSION 3.15) project(ThumbnailGenerator) +find_package(PkgConfig REQUIRED) +pkg_check_modules(LIBAV REQUIRED IMPORTED_TARGET + libavdevice + libavfilter + libavformat + libavcodec + libswresample + libswscale + libavutil +) + # compile_commands.json set(CMAKE_EXPORT_COMPILE_COMMANDS ON) -set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD 17) set (source_dir "./src") file (GLOB source_files "${source_dir}/*.cpp") @@ -14,3 +25,5 @@ add_executable(ThumbnailGenerator ${source_files}) file (GLOB header_files "${source_dir}/*.hpp") target_include_directories(ThumbnailGenerator PUBLIC ${source_dir}) + +target_link_libraries(ThumbnailGenerator PkgConfig::LIBAV) diff --git a/ThumbnailGenerator b/ThumbnailGenerator new file mode 100755 index 0000000..3196ede Binary files /dev/null and b/ThumbnailGenerator differ diff --git a/build/CMakeCache.txt b/build/CMakeCache.txt index 5c5aa71..145a222 100644 --- a/build/CMakeCache.txt +++ b/build/CMakeCache.txt @@ -209,6 +209,12 @@ CMAKE_STRIP:FILEPATH=/usr/bin/strip // Studio IDE projects all commands are done without /nologo. CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE +//Arguments to supply to pkg-config +PKG_CONFIG_ARGN:STRING= + +//pkg-config executable +PKG_CONFIG_EXECUTABLE:FILEPATH=/usr/bin/pkg-config + //Value Computed by CMake ThumbnailGenerator_BINARY_DIR:STATIC=/home/talksik/code/cpp_thumbnail_generator/build @@ -218,6 +224,27 @@ ThumbnailGenerator_IS_TOP_LEVEL:STATIC=ON //Value Computed by CMake ThumbnailGenerator_SOURCE_DIR:STATIC=/home/talksik/code/cpp_thumbnail_generator +//Path to a library. +pkgcfg_lib_LIBAV_avcodec:FILEPATH=/usr/lib/x86_64-linux-gnu/libavcodec.so + +//Path to a library. +pkgcfg_lib_LIBAV_avdevice:FILEPATH=/usr/lib/x86_64-linux-gnu/libavdevice.so + +//Path to a library. +pkgcfg_lib_LIBAV_avfilter:FILEPATH=/usr/lib/x86_64-linux-gnu/libavfilter.so + +//Path to a library. +pkgcfg_lib_LIBAV_avformat:FILEPATH=/usr/lib/x86_64-linux-gnu/libavformat.so + +//Path to a library. +pkgcfg_lib_LIBAV_avutil:FILEPATH=/usr/lib/x86_64-linux-gnu/libavutil.so + +//Path to a library. +pkgcfg_lib_LIBAV_swresample:FILEPATH=/usr/lib/x86_64-linux-gnu/libswresample.so + +//Path to a library. +pkgcfg_lib_LIBAV_swscale:FILEPATH=/usr/lib/x86_64-linux-gnu/libswscale.so + ######################## # INTERNAL cache entries @@ -366,4 +393,93 @@ CMAKE_STRIP-ADVANCED:INTERNAL=1 CMAKE_UNAME:INTERNAL=/usr/bin/uname //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Details about finding PkgConfig +FIND_PACKAGE_MESSAGE_DETAILS_PkgConfig:INTERNAL=[/usr/bin/pkg-config][v0.29.2()] +LIBAV_CFLAGS:INTERNAL=-I/usr/include/x86_64-linux-gnu +LIBAV_CFLAGS_I:INTERNAL= +LIBAV_CFLAGS_OTHER:INTERNAL= +LIBAV_FOUND:INTERNAL=1 +LIBAV_INCLUDEDIR:INTERNAL= +LIBAV_INCLUDE_DIRS:INTERNAL=/usr/include/x86_64-linux-gnu +LIBAV_LDFLAGS:INTERNAL=-L/usr/lib/x86_64-linux-gnu;-lavdevice;-lavfilter;-lavformat;-lavcodec;-lswresample;-lswscale;-lavutil +LIBAV_LDFLAGS_OTHER:INTERNAL= +LIBAV_LIBDIR:INTERNAL= +LIBAV_LIBRARIES:INTERNAL=avdevice;avfilter;avformat;avcodec;swresample;swscale;avutil +LIBAV_LIBRARY_DIRS:INTERNAL=/usr/lib/x86_64-linux-gnu +LIBAV_LIBS:INTERNAL= +LIBAV_LIBS_L:INTERNAL= +LIBAV_LIBS_OTHER:INTERNAL= +LIBAV_LIBS_PATHS:INTERNAL= +LIBAV_MODULE_NAME:INTERNAL= +LIBAV_PREFIX:INTERNAL= +LIBAV_STATIC_CFLAGS:INTERNAL=-I/usr/include/x86_64-linux-gnu +LIBAV_STATIC_CFLAGS_I:INTERNAL= +LIBAV_STATIC_CFLAGS_OTHER:INTERNAL= +LIBAV_STATIC_INCLUDE_DIRS:INTERNAL=/usr/include/x86_64-linux-gnu +LIBAV_STATIC_LDFLAGS:INTERNAL=-L/usr/lib/x86_64-linux-gnu;-lavdevice;-lm;-lraw1394;-lavc1394;-lrom1394;-liec61883;-ljack;-ldrm;-lopenal;-lxcb;-lxcb-shm;-lxcb-shape;-lxcb-xfixes;-lcdio_paranoia;-lcdio_cdda;-lcdio;-lm;-ldc1394;-lasound;-lcaca;-lGL;-lpulse;-pthread;-lSDL2;-lsndio;-lXv;-lX11;-lXext;-lavfilter;-pthread;-lm;-lpocketsphinx;-lsphinxbase;-lsphinxad;-lbs2b;-llilv-0;-ldl;-lsratom-0;-lsord-0;-lserd-0;-lrubberband;-lsamplerate;-lstdc++;-lmysofa;-lflite_cmu_time_awb;-lflite_cmu_us_awb;-lflite_cmu_us_kal;-lflite_cmu_us_kal16;-lflite_cmu_us_rms;-lflite_cmu_us_slt;-lflite_usenglish;-lflite_cmulex;-lflite;-lfribidi;-lass;-lva;-lvidstab;-lm;-lgomp;-lzmq;-lzimg;-lOpenCL;-lfontconfig;-lfreetype;-lmfx;-lstdc++;-ldl;-lpostproc;-lm;-lavformat;-lm;-lxml2;-lbz2;-lgme;-lopenmpt;-lstdc++;-lchromaprint;-lbluray;-lz;-lgnutls;-lrabbitmq;-lsrt-gnutls;-lssh;-lzmq;-lavcodec;-lvpx;-lm;-lvpx;-lm;-lvpx;-lm;-lvpx;-lm;-lwebpmux;-lwebp;-lm;-llzma;-ldav1d;-lrsvg-2;-lm;-lgio-2.0;-lgdk_pixbuf-2.0;-lgobject-2.0;-lglib-2.0;-lcairo;-lzvbi;-lm;-lpthread;-lm;-lpng;-lz;-lsnappy;-lstdc++;-lz;-laom;-lcodec2;-lgsm;-lmp3lame;-lm;-lopenjp2;-lopus;-lm;-lshine;-lspeex;-ltheoraenc;-ltheoradec;-logg;-ltwolame;-lvorbis;-lvorbisenc;-lwebp;-lx264;-lx265;-lxvidcore;-pthread;-lva;-lmfx;-lstdc++;-ldl;-lswresample;-lm;-lsoxr;-lswscale;-lm;-lavutil;-pthread;-lva-drm;-lva;-lva-x11;-lva;-lvdpau;-lX11;-lm;-ldrm;-lmfx;-lstdc++;-ldl;-lOpenCL;-lva;-lXv;-lX11;-lXext +LIBAV_STATIC_LDFLAGS_OTHER:INTERNAL=-pthread +LIBAV_STATIC_LIBDIR:INTERNAL= +LIBAV_STATIC_LIBRARIES:INTERNAL=avdevice;m;raw1394;avc1394;rom1394;iec61883;jack;drm;openal;xcb;xcb-shm;xcb-shape;xcb-xfixes;cdio_paranoia;cdio_cdda;cdio;m;dc1394;asound;caca;GL;pulse;SDL2;sndio;Xv;X11;Xext;avfilter;m;pocketsphinx;sphinxbase;sphinxad;bs2b;lilv-0;dl;sratom-0;sord-0;serd-0;rubberband;samplerate;stdc++;mysofa;flite_cmu_time_awb;flite_cmu_us_awb;flite_cmu_us_kal;flite_cmu_us_kal16;flite_cmu_us_rms;flite_cmu_us_slt;flite_usenglish;flite_cmulex;flite;fribidi;ass;va;vidstab;m;gomp;zmq;zimg;OpenCL;fontconfig;freetype;mfx;stdc++;dl;postproc;m;avformat;m;xml2;bz2;gme;openmpt;stdc++;chromaprint;bluray;z;gnutls;rabbitmq;srt-gnutls;ssh;zmq;avcodec;vpx;m;vpx;m;vpx;m;vpx;m;webpmux;webp;m;lzma;dav1d;rsvg-2;m;gio-2.0;gdk_pixbuf-2.0;gobject-2.0;glib-2.0;cairo;zvbi;m;pthread;m;png;z;snappy;stdc++;z;aom;codec2;gsm;mp3lame;m;openjp2;opus;m;shine;speex;theoraenc;theoradec;ogg;twolame;vorbis;vorbisenc;webp;x264;x265;xvidcore;va;mfx;stdc++;dl;swresample;m;soxr;swscale;m;avutil;va-drm;va;va-x11;va;vdpau;X11;m;drm;mfx;stdc++;dl;OpenCL;va;Xv;X11;Xext +LIBAV_STATIC_LIBRARY_DIRS:INTERNAL=/usr/lib/x86_64-linux-gnu +LIBAV_STATIC_LIBS:INTERNAL= +LIBAV_STATIC_LIBS_L:INTERNAL= +LIBAV_STATIC_LIBS_OTHER:INTERNAL= +LIBAV_STATIC_LIBS_PATHS:INTERNAL= +LIBAV_VERSION:INTERNAL= +LIBAV_libavcodec_INCLUDEDIR:INTERNAL=/usr/include/x86_64-linux-gnu +LIBAV_libavcodec_LIBDIR:INTERNAL=/usr/lib/x86_64-linux-gnu +LIBAV_libavcodec_MODULE_NAME:INTERNAL=libavcodec +LIBAV_libavcodec_PREFIX:INTERNAL=/usr +LIBAV_libavcodec_VERSION:INTERNAL=58.134.100 +LIBAV_libavdevice_INCLUDEDIR:INTERNAL=/usr/include/x86_64-linux-gnu +LIBAV_libavdevice_LIBDIR:INTERNAL=/usr/lib/x86_64-linux-gnu +LIBAV_libavdevice_MODULE_NAME:INTERNAL=libavdevice +LIBAV_libavdevice_PREFIX:INTERNAL=/usr +LIBAV_libavdevice_VERSION:INTERNAL=58.13.100 +LIBAV_libavfilter_INCLUDEDIR:INTERNAL=/usr/include/x86_64-linux-gnu +LIBAV_libavfilter_LIBDIR:INTERNAL=/usr/lib/x86_64-linux-gnu +LIBAV_libavfilter_MODULE_NAME:INTERNAL=libavfilter +LIBAV_libavfilter_PREFIX:INTERNAL=/usr +LIBAV_libavfilter_VERSION:INTERNAL=7.110.100 +LIBAV_libavformat_INCLUDEDIR:INTERNAL=/usr/include/x86_64-linux-gnu +LIBAV_libavformat_LIBDIR:INTERNAL=/usr/lib/x86_64-linux-gnu +LIBAV_libavformat_MODULE_NAME:INTERNAL=libavformat +LIBAV_libavformat_PREFIX:INTERNAL=/usr +LIBAV_libavformat_VERSION:INTERNAL=58.76.100 +LIBAV_libavutil_INCLUDEDIR:INTERNAL=/usr/include/x86_64-linux-gnu +LIBAV_libavutil_LIBDIR:INTERNAL=/usr/lib/x86_64-linux-gnu +LIBAV_libavutil_MODULE_NAME:INTERNAL=libavutil +LIBAV_libavutil_PREFIX:INTERNAL=/usr +LIBAV_libavutil_VERSION:INTERNAL=56.70.100 +LIBAV_libswresample_INCLUDEDIR:INTERNAL=/usr/include/x86_64-linux-gnu +LIBAV_libswresample_LIBDIR:INTERNAL=/usr/lib/x86_64-linux-gnu +LIBAV_libswresample_MODULE_NAME:INTERNAL=libswresample +LIBAV_libswresample_PREFIX:INTERNAL=/usr +LIBAV_libswresample_VERSION:INTERNAL=3.9.100 +LIBAV_libswscale_INCLUDEDIR:INTERNAL=/usr/include/x86_64-linux-gnu +LIBAV_libswscale_LIBDIR:INTERNAL=/usr/lib/x86_64-linux-gnu +LIBAV_libswscale_MODULE_NAME:INTERNAL=libswscale +LIBAV_libswscale_PREFIX:INTERNAL=/usr +LIBAV_libswscale_VERSION:INTERNAL=5.9.100 +//ADVANCED property for variable: PKG_CONFIG_ARGN +PKG_CONFIG_ARGN-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: PKG_CONFIG_EXECUTABLE +PKG_CONFIG_EXECUTABLE-ADVANCED:INTERNAL=1 +__pkg_config_arguments_LIBAV:INTERNAL=REQUIRED;IMPORTED_TARGET;libavdevice;libavfilter;libavformat;libavcodec;libswresample;libswscale;libavutil +__pkg_config_checked_LIBAV:INTERNAL=1 +//ADVANCED property for variable: pkgcfg_lib_LIBAV_avcodec +pkgcfg_lib_LIBAV_avcodec-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: pkgcfg_lib_LIBAV_avdevice +pkgcfg_lib_LIBAV_avdevice-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: pkgcfg_lib_LIBAV_avfilter +pkgcfg_lib_LIBAV_avfilter-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: pkgcfg_lib_LIBAV_avformat +pkgcfg_lib_LIBAV_avformat-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: pkgcfg_lib_LIBAV_avutil +pkgcfg_lib_LIBAV_avutil-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: pkgcfg_lib_LIBAV_swresample +pkgcfg_lib_LIBAV_swresample-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: pkgcfg_lib_LIBAV_swscale +pkgcfg_lib_LIBAV_swscale-ADVANCED:INTERNAL=1 +prefix_result:INTERNAL=/usr/lib/x86_64-linux-gnu diff --git a/build/CMakeFiles/CMakeOutput.log b/build/CMakeFiles/CMakeOutput.log index 3436a60..015a293 100644 --- a/build/CMakeFiles/CMakeOutput.log +++ b/build/CMakeFiles/CMakeOutput.log @@ -28,10 +28,10 @@ The CXX compiler identification is GNU, found in "/home/talksik/code/cpp_thumbna Detecting C compiler ABI info compiled with the following output: Change Dir: /home/talksik/code/cpp_thumbnail_generator/build/CMakeFiles/CMakeTmp -Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_98fa7/fast && /usr/bin/gmake -f CMakeFiles/cmTC_98fa7.dir/build.make CMakeFiles/cmTC_98fa7.dir/build +Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_c9464/fast && /usr/bin/gmake -f CMakeFiles/cmTC_c9464.dir/build.make CMakeFiles/cmTC_c9464.dir/build gmake[1]: Entering directory '/home/talksik/code/cpp_thumbnail_generator/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_98fa7.dir/CMakeCCompilerABI.c.o -/usr/bin/cc -v -o CMakeFiles/cmTC_98fa7.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c +Building C object CMakeFiles/cmTC_c9464.dir/CMakeCCompilerABI.c.o +/usr/bin/cc -v -o CMakeFiles/cmTC_c9464.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c Using built-in specs. COLLECT_GCC=/usr/bin/cc OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa @@ -41,8 +41,8 @@ Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~2 Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_98fa7.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_98fa7.dir/' - /usr/lib/gcc/x86_64-linux-gnu/11/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_98fa7.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc5aoQKd.s +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c9464.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_c9464.dir/' + /usr/lib/gcc/x86_64-linux-gnu/11/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_c9464.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccnUYGD7.s GNU C17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (x86_64-linux-gnu) compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP @@ -62,15 +62,15 @@ GNU C17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (x86_64-linux-gnu) GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 50eaa2331df977b8016186198deb2d18 -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_98fa7.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_98fa7.dir/' - as -v --64 -o CMakeFiles/cmTC_98fa7.dir/CMakeCCompilerABI.c.o /tmp/cc5aoQKd.s +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c9464.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_c9464.dir/' + as -v --64 -o CMakeFiles/cmTC_c9464.dir/CMakeCCompilerABI.c.o /tmp/ccnUYGD7.s GNU assembler version 2.38 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38 COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_98fa7.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_98fa7.dir/CMakeCCompilerABI.c.' -Linking C executable cmTC_98fa7 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_98fa7.dir/link.txt --verbose=1 -/usr/bin/cc -v CMakeFiles/cmTC_98fa7.dir/CMakeCCompilerABI.c.o -o cmTC_98fa7 +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c9464.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_c9464.dir/CMakeCCompilerABI.c.' +Linking C executable cmTC_c9464 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c9464.dir/link.txt --verbose=1 +/usr/bin/cc -v CMakeFiles/cmTC_c9464.dir/CMakeCCompilerABI.c.o -o cmTC_c9464 Using built-in specs. COLLECT_GCC=/usr/bin/cc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper @@ -83,9 +83,9 @@ Supported LTO compression algorithms: zlib zstd gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_98fa7' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_98fa7.' - /usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccGxRxYl.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_98fa7 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_98fa7.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_98fa7' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_98fa7.' +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_c9464' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_c9464.' + /usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccuZFnXd.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_c9464 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_c9464.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_c9464' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_c9464.' gmake[1]: Leaving directory '/home/talksik/code/cpp_thumbnail_generator/build/CMakeFiles/CMakeTmp' @@ -109,10 +109,10 @@ Parsed C implicit link information from above output: link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] ignore line: [Change Dir: /home/talksik/code/cpp_thumbnail_generator/build/CMakeFiles/CMakeTmp] ignore line: [] - ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_98fa7/fast && /usr/bin/gmake -f CMakeFiles/cmTC_98fa7.dir/build.make CMakeFiles/cmTC_98fa7.dir/build] + ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_c9464/fast && /usr/bin/gmake -f CMakeFiles/cmTC_c9464.dir/build.make CMakeFiles/cmTC_c9464.dir/build] ignore line: [gmake[1]: Entering directory '/home/talksik/code/cpp_thumbnail_generator/build/CMakeFiles/CMakeTmp'] - ignore line: [Building C object CMakeFiles/cmTC_98fa7.dir/CMakeCCompilerABI.c.o] - ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_98fa7.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c] + ignore line: [Building C object CMakeFiles/cmTC_c9464.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_c9464.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/cc] ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] @@ -122,8 +122,8 @@ Parsed C implicit link information from above output: ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib zstd] ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_98fa7.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_98fa7.dir/'] - ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/11/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_98fa7.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc5aoQKd.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c9464.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_c9464.dir/'] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/11/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_c9464.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccnUYGD7.s] ignore line: [GNU C17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (x86_64-linux-gnu)] ignore line: [ compiled by GNU C version 11.4.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] ignore line: [] @@ -143,15 +143,15 @@ Parsed C implicit link information from above output: ignore line: [] ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] ignore line: [Compiler executable checksum: 50eaa2331df977b8016186198deb2d18] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_98fa7.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_98fa7.dir/'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_98fa7.dir/CMakeCCompilerABI.c.o /tmp/cc5aoQKd.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c9464.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_c9464.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_c9464.dir/CMakeCCompilerABI.c.o /tmp/ccnUYGD7.s] ignore line: [GNU assembler version 2.38 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38] ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_98fa7.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_98fa7.dir/CMakeCCompilerABI.c.'] - ignore line: [Linking C executable cmTC_98fa7] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_98fa7.dir/link.txt --verbose=1] - ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_98fa7.dir/CMakeCCompilerABI.c.o -o cmTC_98fa7 ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c9464.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_c9464.dir/CMakeCCompilerABI.c.'] + ignore line: [Linking C executable cmTC_c9464] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c9464.dir/link.txt --verbose=1] + ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_c9464.dir/CMakeCCompilerABI.c.o -o cmTC_c9464 ] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/cc] ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper] @@ -164,13 +164,13 @@ Parsed C implicit link information from above output: ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) ] ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_98fa7' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_98fa7.'] - link line: [ /usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccGxRxYl.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_98fa7 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_98fa7.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_c9464' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_c9464.'] + link line: [ /usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccuZFnXd.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_c9464 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_c9464.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] arg [/usr/lib/gcc/x86_64-linux-gnu/11/collect2] ==> ignore arg [-plugin] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so] ==> ignore arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccGxRxYl.res] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccuZFnXd.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore @@ -188,7 +188,7 @@ Parsed C implicit link information from above output: arg [-znow] ==> ignore arg [-zrelro] ==> ignore arg [-o] ==> ignore - arg [cmTC_98fa7] ==> ignore + arg [cmTC_c9464] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o] arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o] arg [/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o] @@ -200,7 +200,7 @@ Parsed C implicit link information from above output: arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../..] - arg [CMakeFiles/cmTC_98fa7.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [CMakeFiles/cmTC_c9464.dir/CMakeCCompilerABI.c.o] ==> ignore arg [-lgcc] ==> lib [gcc] arg [--push-state] ==> ignore arg [--as-needed] ==> ignore @@ -234,10 +234,10 @@ Parsed C implicit link information from above output: Detecting CXX compiler ABI info compiled with the following output: Change Dir: /home/talksik/code/cpp_thumbnail_generator/build/CMakeFiles/CMakeTmp -Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_a6402/fast && /usr/bin/gmake -f CMakeFiles/cmTC_a6402.dir/build.make CMakeFiles/cmTC_a6402.dir/build +Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_a07d9/fast && /usr/bin/gmake -f CMakeFiles/cmTC_a07d9.dir/build.make CMakeFiles/cmTC_a07d9.dir/build gmake[1]: Entering directory '/home/talksik/code/cpp_thumbnail_generator/build/CMakeFiles/CMakeTmp' -Building CXX object CMakeFiles/cmTC_a6402.dir/CMakeCXXCompilerABI.cpp.o -/usr/bin/c++ -v -o CMakeFiles/cmTC_a6402.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp +Building CXX object CMakeFiles/cmTC_a07d9.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -v -o CMakeFiles/cmTC_a07d9.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp Using built-in specs. COLLECT_GCC=/usr/bin/c++ OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa @@ -247,8 +247,8 @@ Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~2 Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a6402.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a6402.dir/' - /usr/lib/gcc/x86_64-linux-gnu/11/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_a6402.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccjwAn5n.s +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a07d9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a07d9.dir/' + /usr/lib/gcc/x86_64-linux-gnu/11/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_a07d9.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cclSWNcB.s GNU C++17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (x86_64-linux-gnu) compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP @@ -272,15 +272,15 @@ GNU C++17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (x86_64-linux-gnu) GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: d591828bb4d392ae8b7b160e5bb0b95f -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a6402.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a6402.dir/' - as -v --64 -o CMakeFiles/cmTC_a6402.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccjwAn5n.s +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a07d9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a07d9.dir/' + as -v --64 -o CMakeFiles/cmTC_a07d9.dir/CMakeCXXCompilerABI.cpp.o /tmp/cclSWNcB.s GNU assembler version 2.38 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38 COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a6402.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a6402.dir/CMakeCXXCompilerABI.cpp.' -Linking CXX executable cmTC_a6402 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a6402.dir/link.txt --verbose=1 -/usr/bin/c++ -v CMakeFiles/cmTC_a6402.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_a6402 +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a07d9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a07d9.dir/CMakeCXXCompilerABI.cpp.' +Linking CXX executable cmTC_a07d9 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a07d9.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTC_a07d9.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_a07d9 Using built-in specs. COLLECT_GCC=/usr/bin/c++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper @@ -293,9 +293,9 @@ Supported LTO compression algorithms: zlib zstd gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a6402' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_a6402.' - /usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccr8T4V9.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_a6402 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_a6402.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a6402' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_a6402.' +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a07d9' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_a07d9.' + /usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/cc1T5bHW.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_a07d9 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_a07d9.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a07d9' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_a07d9.' gmake[1]: Leaving directory '/home/talksik/code/cpp_thumbnail_generator/build/CMakeFiles/CMakeTmp' @@ -325,10 +325,10 @@ Parsed CXX implicit link information from above output: link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] ignore line: [Change Dir: /home/talksik/code/cpp_thumbnail_generator/build/CMakeFiles/CMakeTmp] ignore line: [] - ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_a6402/fast && /usr/bin/gmake -f CMakeFiles/cmTC_a6402.dir/build.make CMakeFiles/cmTC_a6402.dir/build] + ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_a07d9/fast && /usr/bin/gmake -f CMakeFiles/cmTC_a07d9.dir/build.make CMakeFiles/cmTC_a07d9.dir/build] ignore line: [gmake[1]: Entering directory '/home/talksik/code/cpp_thumbnail_generator/build/CMakeFiles/CMakeTmp'] - ignore line: [Building CXX object CMakeFiles/cmTC_a6402.dir/CMakeCXXCompilerABI.cpp.o] - ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_a6402.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Building CXX object CMakeFiles/cmTC_a07d9.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_a07d9.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] @@ -338,8 +338,8 @@ Parsed CXX implicit link information from above output: ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib zstd] ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a6402.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a6402.dir/'] - ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/11/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_a6402.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccjwAn5n.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a07d9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a07d9.dir/'] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/11/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_a07d9.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cclSWNcB.s] ignore line: [GNU C++17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (x86_64-linux-gnu)] ignore line: [ compiled by GNU C version 11.4.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] ignore line: [] @@ -363,15 +363,15 @@ Parsed CXX implicit link information from above output: ignore line: [] ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] ignore line: [Compiler executable checksum: d591828bb4d392ae8b7b160e5bb0b95f] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a6402.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a6402.dir/'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_a6402.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccjwAn5n.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a07d9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a07d9.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_a07d9.dir/CMakeCXXCompilerABI.cpp.o /tmp/cclSWNcB.s] ignore line: [GNU assembler version 2.38 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38] ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a6402.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a6402.dir/CMakeCXXCompilerABI.cpp.'] - ignore line: [Linking CXX executable cmTC_a6402] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a6402.dir/link.txt --verbose=1] - ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_a6402.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_a6402 ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a07d9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a07d9.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [Linking CXX executable cmTC_a07d9] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a07d9.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_a07d9.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_a07d9 ] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper] @@ -384,13 +384,13 @@ Parsed CXX implicit link information from above output: ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) ] ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a6402' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_a6402.'] - link line: [ /usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccr8T4V9.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_a6402 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_a6402.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a07d9' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_a07d9.'] + link line: [ /usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/cc1T5bHW.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_a07d9 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_a07d9.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] arg [/usr/lib/gcc/x86_64-linux-gnu/11/collect2] ==> ignore arg [-plugin] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so] ==> ignore arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccr8T4V9.res] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/cc1T5bHW.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore @@ -408,7 +408,7 @@ Parsed CXX implicit link information from above output: arg [-znow] ==> ignore arg [-zrelro] ==> ignore arg [-o] ==> ignore - arg [cmTC_a6402] ==> ignore + arg [cmTC_a07d9] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o] arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o] arg [/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o] @@ -420,7 +420,7 @@ Parsed CXX implicit link information from above output: arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../..] - arg [CMakeFiles/cmTC_a6402.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [CMakeFiles/cmTC_a07d9.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore arg [-lstdc++] ==> lib [stdc++] arg [-lm] ==> lib [m] arg [-lgcc_s] ==> lib [gcc_s] diff --git a/build/CMakeFiles/Makefile.cmake b/build/CMakeFiles/Makefile.cmake index b698eb1..e3b8051 100644 --- a/build/CMakeFiles/Makefile.cmake +++ b/build/CMakeFiles/Makefile.cmake @@ -91,6 +91,9 @@ set(CMAKE_MAKEFILE_DEPENDS "/usr/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake" "/usr/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake" "/usr/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake" + "/usr/share/cmake-3.22/Modules/FindPackageMessage.cmake" + "/usr/share/cmake-3.22/Modules/FindPkgConfig.cmake" "/usr/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake" "/usr/share/cmake-3.22/Modules/Platform/Linux-Determine-CXX.cmake" "/usr/share/cmake-3.22/Modules/Platform/Linux-GNU-C.cmake" diff --git a/build/CMakeFiles/Makefile2 b/build/CMakeFiles/Makefile2 index 4560ef4..2b17bef 100644 --- a/build/CMakeFiles/Makefile2 +++ b/build/CMakeFiles/Makefile2 @@ -81,12 +81,12 @@ clean: CMakeFiles/ThumbnailGenerator.dir/clean CMakeFiles/ThumbnailGenerator.dir/all: $(MAKE) $(MAKESILENT) -f CMakeFiles/ThumbnailGenerator.dir/build.make CMakeFiles/ThumbnailGenerator.dir/depend $(MAKE) $(MAKESILENT) -f CMakeFiles/ThumbnailGenerator.dir/build.make CMakeFiles/ThumbnailGenerator.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/talksik/code/cpp_thumbnail_generator/build/CMakeFiles --progress-num=1,2 "Built target ThumbnailGenerator" + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/talksik/code/cpp_thumbnail_generator/build/CMakeFiles --progress-num=1,2,3 "Built target ThumbnailGenerator" .PHONY : CMakeFiles/ThumbnailGenerator.dir/all # Build rule for subdir invocation for target. CMakeFiles/ThumbnailGenerator.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/talksik/code/cpp_thumbnail_generator/build/CMakeFiles 2 + $(CMAKE_COMMAND) -E cmake_progress_start /home/talksik/code/cpp_thumbnail_generator/build/CMakeFiles 3 $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/ThumbnailGenerator.dir/all $(CMAKE_COMMAND) -E cmake_progress_start /home/talksik/code/cpp_thumbnail_generator/build/CMakeFiles 0 .PHONY : CMakeFiles/ThumbnailGenerator.dir/rule diff --git a/build/CMakeFiles/ThumbnailGenerator.dir/DependInfo.cmake b/build/CMakeFiles/ThumbnailGenerator.dir/DependInfo.cmake index ab3d6e0..8f56224 100644 --- a/build/CMakeFiles/ThumbnailGenerator.dir/DependInfo.cmake +++ b/build/CMakeFiles/ThumbnailGenerator.dir/DependInfo.cmake @@ -9,6 +9,7 @@ set(CMAKE_DEPENDS_LANGUAGES # The set of dependency files which are needed: set(CMAKE_DEPENDS_DEPENDENCY_FILES "/home/talksik/code/cpp_thumbnail_generator/src/Main.cpp" "CMakeFiles/ThumbnailGenerator.dir/src/Main.cpp.o" "gcc" "CMakeFiles/ThumbnailGenerator.dir/src/Main.cpp.o.d" + "/home/talksik/code/cpp_thumbnail_generator/src/ThumbnailGenerator.cpp" "CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.o" "gcc" "CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.o.d" ) # Targets to which this target links. diff --git a/build/CMakeFiles/ThumbnailGenerator.dir/build.make b/build/CMakeFiles/ThumbnailGenerator.dir/build.make index dc7e848..c220517 100644 --- a/build/CMakeFiles/ThumbnailGenerator.dir/build.make +++ b/build/CMakeFiles/ThumbnailGenerator.dir/build.make @@ -83,17 +83,40 @@ CMakeFiles/ThumbnailGenerator.dir/src/Main.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/ThumbnailGenerator.dir/src/Main.cpp.s" /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/talksik/code/cpp_thumbnail_generator/src/Main.cpp -o CMakeFiles/ThumbnailGenerator.dir/src/Main.cpp.s +CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.o: CMakeFiles/ThumbnailGenerator.dir/flags.make +CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.o: ../src/ThumbnailGenerator.cpp +CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.o: CMakeFiles/ThumbnailGenerator.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/talksik/code/cpp_thumbnail_generator/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.o -MF CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.o.d -o CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.o -c /home/talksik/code/cpp_thumbnail_generator/src/ThumbnailGenerator.cpp + +CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/talksik/code/cpp_thumbnail_generator/src/ThumbnailGenerator.cpp > CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.i + +CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/talksik/code/cpp_thumbnail_generator/src/ThumbnailGenerator.cpp -o CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.s + # Object files for target ThumbnailGenerator ThumbnailGenerator_OBJECTS = \ -"CMakeFiles/ThumbnailGenerator.dir/src/Main.cpp.o" +"CMakeFiles/ThumbnailGenerator.dir/src/Main.cpp.o" \ +"CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.o" # External object files for target ThumbnailGenerator ThumbnailGenerator_EXTERNAL_OBJECTS = ThumbnailGenerator: CMakeFiles/ThumbnailGenerator.dir/src/Main.cpp.o +ThumbnailGenerator: CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.o ThumbnailGenerator: CMakeFiles/ThumbnailGenerator.dir/build.make +ThumbnailGenerator: /usr/lib/x86_64-linux-gnu/libavdevice.so +ThumbnailGenerator: /usr/lib/x86_64-linux-gnu/libavfilter.so +ThumbnailGenerator: /usr/lib/x86_64-linux-gnu/libavformat.so +ThumbnailGenerator: /usr/lib/x86_64-linux-gnu/libavcodec.so +ThumbnailGenerator: /usr/lib/x86_64-linux-gnu/libswresample.so +ThumbnailGenerator: /usr/lib/x86_64-linux-gnu/libswscale.so +ThumbnailGenerator: /usr/lib/x86_64-linux-gnu/libavutil.so ThumbnailGenerator: CMakeFiles/ThumbnailGenerator.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/talksik/code/cpp_thumbnail_generator/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX executable ThumbnailGenerator" + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/talksik/code/cpp_thumbnail_generator/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Linking CXX executable ThumbnailGenerator" $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/ThumbnailGenerator.dir/link.txt --verbose=$(VERBOSE) # Rule to build all files generated by this target. diff --git a/build/CMakeFiles/ThumbnailGenerator.dir/cmake_clean.cmake b/build/CMakeFiles/ThumbnailGenerator.dir/cmake_clean.cmake index 6888dcd..3fbbc83 100644 --- a/build/CMakeFiles/ThumbnailGenerator.dir/cmake_clean.cmake +++ b/build/CMakeFiles/ThumbnailGenerator.dir/cmake_clean.cmake @@ -1,6 +1,8 @@ file(REMOVE_RECURSE "CMakeFiles/ThumbnailGenerator.dir/src/Main.cpp.o" "CMakeFiles/ThumbnailGenerator.dir/src/Main.cpp.o.d" + "CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.o" + "CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.o.d" "ThumbnailGenerator" "ThumbnailGenerator.pdb" ) diff --git a/build/CMakeFiles/ThumbnailGenerator.dir/flags.make b/build/CMakeFiles/ThumbnailGenerator.dir/flags.make index 765c4e8..54561be 100644 --- a/build/CMakeFiles/ThumbnailGenerator.dir/flags.make +++ b/build/CMakeFiles/ThumbnailGenerator.dir/flags.make @@ -6,5 +6,5 @@ CXX_DEFINES = CXX_INCLUDES = -I/home/talksik/code/cpp_thumbnail_generator/./src -CXX_FLAGS = -g -std=gnu++14 +CXX_FLAGS = -g diff --git a/build/CMakeFiles/ThumbnailGenerator.dir/link.txt b/build/CMakeFiles/ThumbnailGenerator.dir/link.txt index e1da9c0..67a3d41 100644 --- a/build/CMakeFiles/ThumbnailGenerator.dir/link.txt +++ b/build/CMakeFiles/ThumbnailGenerator.dir/link.txt @@ -1 +1 @@ -/usr/bin/c++ -g CMakeFiles/ThumbnailGenerator.dir/src/Main.cpp.o -o ThumbnailGenerator +/usr/bin/c++ -g CMakeFiles/ThumbnailGenerator.dir/src/Main.cpp.o CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.o -o ThumbnailGenerator /usr/lib/x86_64-linux-gnu/libavdevice.so /usr/lib/x86_64-linux-gnu/libavfilter.so /usr/lib/x86_64-linux-gnu/libavformat.so /usr/lib/x86_64-linux-gnu/libavcodec.so /usr/lib/x86_64-linux-gnu/libswresample.so /usr/lib/x86_64-linux-gnu/libswscale.so /usr/lib/x86_64-linux-gnu/libavutil.so diff --git a/build/CMakeFiles/ThumbnailGenerator.dir/progress.make b/build/CMakeFiles/ThumbnailGenerator.dir/progress.make index abadeb0..6a9dc74 100644 --- a/build/CMakeFiles/ThumbnailGenerator.dir/progress.make +++ b/build/CMakeFiles/ThumbnailGenerator.dir/progress.make @@ -1,3 +1,4 @@ CMAKE_PROGRESS_1 = 1 CMAKE_PROGRESS_2 = 2 +CMAKE_PROGRESS_3 = 3 diff --git a/build/CMakeFiles/progress.marks b/build/CMakeFiles/progress.marks index 0cfbf08..00750ed 100644 --- a/build/CMakeFiles/progress.marks +++ b/build/CMakeFiles/progress.marks @@ -1 +1 @@ -2 +3 diff --git a/build/Makefile b/build/Makefile index 9791801..a8e4bf3 100644 --- a/build/Makefile +++ b/build/Makefile @@ -153,6 +153,30 @@ src/Main.cpp.s: $(MAKE) $(MAKESILENT) -f CMakeFiles/ThumbnailGenerator.dir/build.make CMakeFiles/ThumbnailGenerator.dir/src/Main.cpp.s .PHONY : src/Main.cpp.s +src/ThumbnailGenerator.o: src/ThumbnailGenerator.cpp.o +.PHONY : src/ThumbnailGenerator.o + +# target to build an object file +src/ThumbnailGenerator.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/ThumbnailGenerator.dir/build.make CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.o +.PHONY : src/ThumbnailGenerator.cpp.o + +src/ThumbnailGenerator.i: src/ThumbnailGenerator.cpp.i +.PHONY : src/ThumbnailGenerator.i + +# target to preprocess a source file +src/ThumbnailGenerator.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/ThumbnailGenerator.dir/build.make CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.i +.PHONY : src/ThumbnailGenerator.cpp.i + +src/ThumbnailGenerator.s: src/ThumbnailGenerator.cpp.s +.PHONY : src/ThumbnailGenerator.s + +# target to generate assembly for a file +src/ThumbnailGenerator.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/ThumbnailGenerator.dir/build.make CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.s +.PHONY : src/ThumbnailGenerator.cpp.s + # Help Target help: @echo "The following are some of the valid targets for this Makefile:" @@ -165,6 +189,9 @@ help: @echo "... src/Main.o" @echo "... src/Main.i" @echo "... src/Main.s" + @echo "... src/ThumbnailGenerator.o" + @echo "... src/ThumbnailGenerator.i" + @echo "... src/ThumbnailGenerator.s" .PHONY : help diff --git a/build/ThumbnailGenerator b/build/ThumbnailGenerator index 5858db0..3196ede 100755 Binary files a/build/ThumbnailGenerator and b/build/ThumbnailGenerator differ diff --git a/build/compile_commands.json b/build/compile_commands.json index 41f83a7..b8b52e3 100644 --- a/build/compile_commands.json +++ b/build/compile_commands.json @@ -1,7 +1,12 @@ [ { "directory": "/home/talksik/code/cpp_thumbnail_generator/build", - "command": "/usr/bin/c++ -I/home/talksik/code/cpp_thumbnail_generator/./src -g -std=gnu++14 -o CMakeFiles/ThumbnailGenerator.dir/src/Main.cpp.o -c /home/talksik/code/cpp_thumbnail_generator/src/Main.cpp", + "command": "/usr/bin/c++ -I/home/talksik/code/cpp_thumbnail_generator/./src -g -o CMakeFiles/ThumbnailGenerator.dir/src/Main.cpp.o -c /home/talksik/code/cpp_thumbnail_generator/src/Main.cpp", "file": "/home/talksik/code/cpp_thumbnail_generator/src/Main.cpp" +}, +{ + "directory": "/home/talksik/code/cpp_thumbnail_generator/build", + "command": "/usr/bin/c++ -I/home/talksik/code/cpp_thumbnail_generator/./src -g -o CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.o -c /home/talksik/code/cpp_thumbnail_generator/src/ThumbnailGenerator.cpp", + "file": "/home/talksik/code/cpp_thumbnail_generator/src/ThumbnailGenerator.cpp" } ] \ No newline at end of file diff --git a/compile_commands.json b/compile_commands.json index 41f83a7..b8b52e3 100644 --- a/compile_commands.json +++ b/compile_commands.json @@ -1,7 +1,12 @@ [ { "directory": "/home/talksik/code/cpp_thumbnail_generator/build", - "command": "/usr/bin/c++ -I/home/talksik/code/cpp_thumbnail_generator/./src -g -std=gnu++14 -o CMakeFiles/ThumbnailGenerator.dir/src/Main.cpp.o -c /home/talksik/code/cpp_thumbnail_generator/src/Main.cpp", + "command": "/usr/bin/c++ -I/home/talksik/code/cpp_thumbnail_generator/./src -g -o CMakeFiles/ThumbnailGenerator.dir/src/Main.cpp.o -c /home/talksik/code/cpp_thumbnail_generator/src/Main.cpp", "file": "/home/talksik/code/cpp_thumbnail_generator/src/Main.cpp" +}, +{ + "directory": "/home/talksik/code/cpp_thumbnail_generator/build", + "command": "/usr/bin/c++ -I/home/talksik/code/cpp_thumbnail_generator/./src -g -o CMakeFiles/ThumbnailGenerator.dir/src/ThumbnailGenerator.cpp.o -c /home/talksik/code/cpp_thumbnail_generator/src/ThumbnailGenerator.cpp", + "file": "/home/talksik/code/cpp_thumbnail_generator/src/ThumbnailGenerator.cpp" } ] \ No newline at end of file diff --git a/run.sh b/run.sh index d68efef..79d4562 100755 --- a/run.sh +++ b/run.sh @@ -1,4 +1,6 @@ -#!/bin/sh +#!/bin/bash + +set -eo pipefail rm -rf build/ mkdir -p build/ @@ -11,4 +13,8 @@ make cp ./compile_commands.json ../ -./ThumbnailGenerator +cp ./ThumbnailGenerator ../ + +cd .. + +./ThumbnailGenerator sample.mp4 diff --git a/sample.mp4 b/sample.mp4 new file mode 100644 index 0000000..40bb0c2 Binary files /dev/null and b/sample.mp4 differ diff --git a/src/Main.cpp b/src/Main.cpp index 66c2f9e..3d07aa1 100644 --- a/src/Main.cpp +++ b/src/Main.cpp @@ -1,8 +1,31 @@ +#include "include/ThumbnailGenerator.hpp" #include +#include +#include + +#include +#include int main(int argc, char *argv[]) { std::cout << "Hello, World!" << std::endl; + if (argc < 2) { + std::cerr << "Usage: " << argv[0] << " " << std::endl; + return 1; + } + + std::string input_file = argv[1]; + std::filesystem::path current_path = std::filesystem::current_path(); + std::cout << "current path: " << current_path << std::endl; + std::cout << "input file: " << input_file << std::endl; + std::string input_file_path = current_path.string() + "/" + input_file; + std::cout << "input file path: " << input_file_path << std::endl; + + std::unique_ptr thumbnailGenerator = + std::make_unique(); + + thumbnailGenerator->readVideoFrames(input_file_path); + return 0; } diff --git a/src/ThumbnailGenerator.cpp b/src/ThumbnailGenerator.cpp new file mode 100644 index 0000000..1843e19 --- /dev/null +++ b/src/ThumbnailGenerator.cpp @@ -0,0 +1,111 @@ +#include "include/ThumbnailGenerator.hpp" +#include +extern "C" { +#include +#include +#include +#include +#include +#include +} + +ThumbnailGenerator::ThumbnailGenerator() { av_register_all(); } + +std::string ThumbnailGenerator::generateThumbnail(std::string path) { + std::cout << "generateThumbnail: " << path << std::endl; + return "generateThumbnail: " + path; +} + +void ThumbnailGenerator::readVideoFrames(std::string input_file_path) { + std::cout << "readVideoFrames: " << input_file_path << std::endl; + + // Open input file and allocate format context + AVFormatContext *format_ctx = nullptr; + int ret = avformat_open_input(&format_ctx, input_file_path.c_str(), nullptr, + nullptr); + if (ret < 0) { + std::cerr << "Could not open input file: " << input_file_path << std::endl; + // char buff[256]; + // av_strerror(ret, buff, 256); + // printf(buff); + + std::cerr << "Error: " << ret << std::endl; + AVERROR(ret); + + throw std::runtime_error("Could not open input file"); + } + + // Retrieve stream information + if (avformat_find_stream_info(format_ctx, nullptr) < 0) { + std::cerr << "Could not find stream information" << std::endl; + throw std::runtime_error("Could not find stream information"); + } + + // Find video stream + int video_stream_idx = -1; + for (unsigned int i = 0; i < format_ctx->nb_streams; ++i) { + if (format_ctx->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) { + video_stream_idx = i; + break; + } + } + + if (video_stream_idx == -1) { + std::cerr << "Could not find video stream" << std::endl; + throw std::runtime_error("Could not find video stream"); + } + + // Get codec parameters and codec context + AVCodecParameters *codecpar = format_ctx->streams[video_stream_idx]->codecpar; + AVCodec *codec = avcodec_find_decoder(codecpar->codec_id); + AVCodecContext *codec_ctx = avcodec_alloc_context3(codec); + avcodec_parameters_to_context(codec_ctx, codecpar); + + // Open codec + if (avcodec_open2(codec_ctx, codec, nullptr) < 0) { + std::cerr << "Could not open codec" << std::endl; + throw std::runtime_error("Could not open codec"); + } + + // Allocate frame and packet + AVFrame *frame = av_frame_alloc(); + AVPacket packet; + av_init_packet(&packet); + + // Read frames from the video stream + while (av_read_frame(format_ctx, &packet) >= 0) { + if (packet.stream_index == video_stream_idx) { + // Decode video frame + int ret = avcodec_send_packet(codec_ctx, &packet); + if (ret < 0) { + std::cerr << "Error sending packet for decoding" << std::endl; + break; + } + + while (ret >= 0) { + ret = avcodec_receive_frame(codec_ctx, frame); + if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF) { + break; + } else if (ret < 0) { + std::cerr << "Error during decoding" << std::endl; + break; + } + + // Print basic frame properties + std::cout << "Frame " + << codec_ctx->frame_number + // << " (type=" << av_get_picture_type_char(frame->pict_type) + << ", size=" << frame->pkt_size << " bytes) pts " + << frame->pts << " key_frame " << frame->key_frame + << std::endl; + } + } + + av_packet_unref(&packet); + } + + // Free allocated resources + av_frame_free(&frame); + avcodec_free_context(&codec_ctx); + avformat_close_input(&format_ctx); +} diff --git a/src/ThumbnailGenerator.hpp b/src/ThumbnailGenerator.hpp deleted file mode 100644 index 8b13789..0000000 --- a/src/ThumbnailGenerator.hpp +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/include/ThumbnailGenerator.hpp b/src/include/ThumbnailGenerator.hpp new file mode 100644 index 0000000..15d20f8 --- /dev/null +++ b/src/include/ThumbnailGenerator.hpp @@ -0,0 +1,13 @@ + +#include + +class ThumbnailGenerator { +public: + ThumbnailGenerator(); + // given a path to a video file, generate a thumbnail + std::string generateThumbnail(std::string path); + + // reads and simply prints out information about the video frames + void readVideoFrames(std::string path); +private: +};