使用./ 运行C++程序:
$ ./pedestrian_tracker_demo
输出报错:undefined symbol: _ZN3tbb8internal13numa_topology4fillEPi
./samples/build/intel64/Release/pedestrian_tracker_demo: symbol lookup error: /home/ywang/openvino/bin/intel64/Release/lib/libinference_engine.so: undefined symbol: _ZN3tbb8internal13numa_topology4fillEPi
解决思路:
1,使用 ldd 指令查看程序依赖库:先判断是不是因为缺少某个库文件而导致程序不能运行的一些问题。
$ ldd pedestrian_tracker_demo
如果有依赖库时not found状态,使用find -name找到位置并添加到LD_LIBRARY_PATH。
2,排除不是依赖库缺失后,检查系统里是否存在不同版本的tbb。
在根目录下查找:
$ find -name "libtbb.so"
./openvino/inference-engine/temp/tbb/lib/libtbb.so
结果发现有一个程序应该使用的版本的tbb,应该指明程序该调用该版本的tbb。
$ export LD_LIBRARY_PATH=/home/ywang/openvino/inference-engine/temp/tbb/lib:$LD_LIBRARY_PATH
问题解决,程序不再报错。