g++ -L指定动态库目录不起作用

目录结构

编译:g++ -w -g -o ../bin/linux/main main.cpp -I ../include/ -I ./voice/ -L ../bin/linux/ -L ../lib/linux/ -ldataBaseInterface -lmysqlclient -lhpr -llogsystem -ljson -lcurl -lmsc -lvoiceInterface -lxml

编译过程没有异常,执行main的时候找不到动态库:./../bin/linux/main: error while loading shared libraries: libhpr.so: cannot open shared object file: No such file or directory
如果终端用export或者在/etc/ld.so.conf中添加动态库路径就可以正常运行,-L只是编译的时候起作用,运行的时候还是得额外指定动态库目录?


知道了运行时库库目录还要额外指定-Wl,--rpath

回答:

-L只是编译的时候起作用。

一般别用rpath,因为换个机器就不好使了。

以上是 g++ -L指定动态库目录不起作用 的全部内容, 来源链接: utcz.com/p/191478.html

回到顶部