C++ 编译链接动态库
简单记录下,怕忘。
g++ -L ./lib -o C_Sample C_Api_Sample.cpp -I ./include -lonnxruntime -std=c++14
解释下:
-L 后面跟的是库目录(.so结尾动态库文件所在目录)
-I 后面跟的是头文件目录
-lxxx 这里代表链接的是libxxx.so动态库
-std=c++14 用c++14标准。
以前用到的编译指令一般是 g++ a.cpp -o a 其实就是在这个基础上扩展了。
如生成程序名为C_Sample,应用 : ldd C_Sample 检查动态库是否地址链接进去 了。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./
这句话可以解决not found .so的问题。