Hello, I am currently trying to use NvJPEG on my project but it fails when compiling giving a Undefined reference error.
[build] FAILED: example
[build] : && /usr/bin/aarch64-linux-gnu-g++ -g -rdynamic CMakeFiles/example.dir/example.cpp.o -o example -L/usr/local/cuda-10.2/lib64 -L/usr/lib/aarch64-linux-gnu/tegra -Wl,-rpath,/usr/local/cuda-10.2/lib64:/usr/lib/aarch64-linux-gnu/tegra /usr/lib/aarch64-linux-gnu/libopencv_gapi.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_stitching.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_alphamat.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_aruco.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_barcode.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_bgsegm.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_bioinspired.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_ccalib.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_cudabgsegm.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_cudafeatures2d.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_cudaobjdetect.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_cudastereo.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_dnn_objdetect.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_dnn_superres.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_dpm.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_face.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_freetype.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_fuzzy.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_hdf.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_hfs.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_img_hash.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_intensity_transform.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_line_descriptor.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_mcc.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_quality.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_rapid.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_reg.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_rgbd.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_saliency.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_sfm.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_stereo.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_structured_light.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_superres.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_surface_matching.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_tracking.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_videostab.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_wechat_qrcode.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_xfeatures2d.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_xobjdetect.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_xphoto.so.4.6.0 -lnvjpeg -lpthread /usr/lib/aarch64-linux-gnu/libopencv_shape.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_highgui.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_datasets.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_plot.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_text.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_ml.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_phase_unwrapping.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_cudacodec.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_videoio.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_cudaoptflow.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_cudalegacy.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_cudawarping.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_optflow.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_ximgproc.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_video.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_imgcodecs.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_objdetect.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_calib3d.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_dnn.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_features2d.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_flann.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_photo.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_cudaimgproc.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_cudafilters.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_imgproc.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_cudaarithm.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_core.so.4.6.0 /usr/lib/aarch64-linux-gnu/libopencv_cudev.so.4.6.0 && :
[build] CMakeFiles/example.dir/example.cpp.o: In function `main':
[build] /home/user/examples/build/../example.cpp:61: undefined reference to `NvJPEGEncoder::createJPEGEncoder(char const*)'
[build] collect2: error: ld returned 1 exit status
[build] ninja: build stopped: subcommand failed.
[proc] The command: /usr/local/bin/cmake --build /home/user/examples/build --config Debug --target all -- exited with code: 1
[build] Build finished with exit code 1
My CmakeList.txt
cmake_minimum_required(VERSION 3.10)
find_package(OpenCV 4.2 REQUIRED)
find_package(CUDAToolkit)
link_directories(/usr/lib/aarch64-linux-gnu/tegra)
add_executable(example ./example.cpp)
target_include_directories(example PRIVATE /usr/src/jetson_multimedia_api/include)
target_link_libraries(example
PRIVATE
${OpenCV_LIBS}
CUDA::toolkit
nvjpeg
)
Any assistance on this would be very appreciated.