编译没有问题运行报错
libmodules_Sdrivers_Scamera_Slibcamera.so: undefined symbol: NvBufferMemMap
原因分析
这个问题是因为编译器无法找到名为NvBufferMemMap的符号,在链接时出现了未定义的符号错误。这通常是因为在编译源文件时未链接所需的库文件或链接了错误的库文件。
要解决此问题,您需要确保在编译和链接源代码时包含正确的库文件。在这种情况下,您需要确保链接libnvbuf_utils.so库文件,因为NvBufferMemMap函数属于这个库文件。
解决办法
您可以通过在编译时添加-l nvbuf_utils选项来链接libnvbuf_utils.so库文件。例如:
g++ -o my_program my_program.cpp -lnvbuf_utils
请注意,这假定您已经正确安装了libnvbuf_utils.so库文件,并且可以在系统上找到该库文件。
在bazel,写法如下:
linkopts = [
"-L/usr/lib/aarch64-linux-gnu/tegra/",
"-lnvbuf_utils",
],