qmake 编译找不到 libonnxruntime.so.1.10.0

错误描述

在使用paddle_inference时,出现无法找到 libonnxruntime.so.1.10.0的警告;编译环境是Linux 的Qt Creator;
但命名so文件就在那里,LIBS也进行了添加;仍提示无法找到

/bin/ld: warning: libonnxruntime.so.1.10.0, needed by /home/paddle_inference/paddle/lib/libpaddle_inference.so, not found (try using -rpath or -rpath-link)
/lib/libpaddle_inference.so: undefined reference to `OrtGetApiBase@VERS_1.10.0'
collect2: error: ld returned 1 exit status

`OrtGetApiBase@VERS_1.10.0’必须在引入libonnxruntime时才可以,因此这个警告才是错误的根本原因。

解决方法

可能原因:可能在生成makefile文件时,可能忽略了增加的LIBS的某些路径,所以导致找不到文件。
因此:
在pro文件中增加下面的内容即可

QMAKE_RPATHDIR = /home/aaa/work/paddle_inference/third_party/install/onnxruntime/lib

参考

rpath可参考 https://blog.csdn.net/cheng870888/article/details/102820440


版权声明:本文为bhj5787原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。