Il n'y a aucun problème de compilation ni d'erreur lors de l'exécution.
libmodules_Sdrivers_Scamera_Slibcamera.so: undefined symbol: NvBufferMemMap
Analyse des causes
Le problème est dû au fait que le compilateur ne peut pas trouver le symbole nommé NvBufferMemMap et qu'une erreur de symbole non défini se produit lors de la liaison. Cela est généralement dû au fait qu'un fichier de bibliothèque requis n'a pas été lié ou qu'un mauvais fichier de bibliothèque a été lié lors de la compilation du fichier source.
Pour résoudre ce problème, vous devez vous assurer d'inclure les fichiers de bibliothèque appropriés lors de la compilation et de la liaison de votre code source. Dans ce cas, vous devez vous assurer de lier le fichier de bibliothèque libnvbuf_utils.so car la fonction NvBufferMemMap appartient à ce fichier de bibliothèque.
Solution
Vous pouvez lier le fichier de bibliothèque libnvbuf_utils.so en ajoutant l'option -l nvbuf_utils lors de la compilation. Par exemple:
g++ -o mon_programme mon_programme.cpp -lnvbuf_utils
Veuillez noter que cela suppose que vous avez installé correctement le fichier de bibliothèque libnvbuf_utils.so et que vous pouvez le trouver sur votre système.
En bazel, il s'écrit ainsi :
linkopts = [
"-L/usr/lib/aarch64-linux-gnu/tegra/",
"-lnvbuf_utils",
],