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