Here is my full output from cmake and make command after re-flash SD card from beginning.
loc@loc:~/my-recognition$ cmake .
qmake: could not exec '/usr/lib/aarch64-linux-gnu/qt4/bin/qmake': No such file or directory
-- Found unsuitable Qt version "" from NOTFOUND
Qt QTGUI library not found.
Qt QTCORE library not found.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/loc/my-recognition
loc@loc:~/my-recognition$ make
[ 50%] Linking CXX executable my-recognition
/usr/bin/ld: cannot find -lnvbuf_utils
collect2: error: ld returned 1 exit status
CMakeFiles/my-recognition.dir/build.make:101: recipe for target 'my-recognition' failed
make[2]: *** [my-recognition] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/my-recognition.dir/all' failed
make[1]: *** [CMakeFiles/my-recognition.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
# require CMake 2.8 or greater
cmake_minimum_required(VERSION 2.8)
# declare my-recognition project
project(my-recognition)
# import jetson-inference and jetson-utils packages.
# note that if you didn't do "sudo make install"
# while building jetson-inference, this will error.
find_package(jetson-utils)
find_package(jetson-inference)
# CUDA and Qt4 are required
find_package(CUDA)
find_package(Qt4)
# setup Qt4 for build
include(${QT_USE_FILE})
add_definitions(${QT_DEFINITIONS})
# compile the my-recognition program
cuda_add_executable(my-recognition my-recognition.cpp)
# link my-recognition to jetson-inference library
target_link_libraries(my-recognition jetson-inference)
# add lnvbuf-utils to project
link_directories(/usr/lib/aarch64-linux-gnu/tegra)
I have tried your solution and here is my CMakeLists.txt file’s content:
# require CMake 2.8 or greater
cmake_minimum_required(VERSION 2.8)
# declare my-recognition project
project(my-recognition)
# import jetson-inference and jetson-utils packages.
# note that if you didn't do "sudo make install"
# while building jetson-inference, this will error.
find_package(jetson-utils)
find_package(jetson-inference)
# CUDA and Qt4 are required
find_package(CUDA)
find_package(Qt4)
# setup Qt4 for build
include(${QT_USE_FILE})
add_definitions(${QT_DEFINITIONS})
# compile the my-recognition program
cuda_add_executable(my-recognition my-recognition.cpp)
# link my-recognition to jetson-inference library
target_link_libraries(my-recognition jetson-inference)
# add lnvbuf-utils to project
link_directories(/usr/lib/aarch64-linux-gnu/tegra)
Thanks a lot MtHiker,
It’s worked.
What I forgot is to put link_directories(/usr/lib/aarch64-linux-gnu/tegra) line before adding other packages.
Which mean I put link_directories before find_package(jetson-utils) and find_package(jetson-inference).
# require CMake 2.8 or greater
cmake_minimum_required(VERSION 2.8)
# declare my-recognition project
project(my-recognition)
# add lnvbuf-utils to program
link_directories (/usr/lib/aarch64-linux-gnu/tegra)
# import jetson-inference and jetson-utils packages.
# note that if you didn't do "sudo make install"
# while building jetson-inference, this will error.
find_package(jetson-utils)
find_package(jetson-inference)
# CUDA and Qt4 are required
find_package(CUDA)
find_package(Qt4)
# setup Qt4 for build
include(${QT_USE_FILE})
add_definitions(${QT_DEFINITIONS})
# compile the my-recognition program
cuda_add_executable(my-recognition my-recognition.cpp)
# link my-recognition to jetson-inference library
target_link_libraries(my-recognition jetson-inference)
Hi @vision-hobbist1995, thanks for pointing this out - I had forgotten to add this after doing the updates to use NVMM memory and libnvbuf-utils. I just added this fix to the repo in commit 1b8383.